• 离线安装PostgreSQL数据库(v13.4版本)


    记录:328

    场景:在CentOS 7.9操作系统上,离线安装PostgreSQL数据库,版本:v13.4。主要是PostgreSQL的编译、安装、启动、登录、设置远程可登录、创建数据库、创建数据库用户等。

    版本:

    操作系统:CentOS 7.9

    数据库:PostgreSQL v13.4

    1.主机规划

    目标:使用一台主机部署PostgreSQL数据库。

    主机app163;IP:192.168.19.163。

    2下载安装包

    下载地址:https://ftp.postgresql.org/pub/source/

    下载命令:

    wget https://ftp.postgresql.org/pub/source/v13.4/postgresql-13.4.tar.gz --no-check-certificate

    解析:下载完成后,postgresql-13.4.tar.gz包在当前目录;--no-check-certificate,不验证服务端的证书。

    3安装基础依赖

    安装命令:yum install -y readline-devel zlib-devel zlib gcc

    解析:安装基础依赖,避免安装PostgreSQL报错。

    查看已安装命令:yum list installed | grep 包名关键字

    解析:使用命令查看基础依赖包是否已经安装。

    4创建系统普通用户

    (1)创建用户

    默认超级用户root不能启动PostgreSQL,创建系统普通用户postgres。

    创建用户命令:useradd postgres

    (2)不设置密码使用root用户切换到postgres

    登录postgres命令:su postgres

    退出postgresml:exit

    (3)查看postgres用户

    查看命令:cat /etc/group | grep postgres

    5解压PostgreSQL包

    postgresql包:postgresql-13.4.tar.gz

    解压到指定目录:

    tar -xzvf /home/apps/software/postgresql-13.4.tar.gz -C /home/apps/module

    6规划安装目录

    (1)规划安装目录

    规划安装到目录:/home/apps/module/postgresql

    创建目录:mkdir -p /home/apps/module/postgresql

    (2)检查路径

    操作目录:cd /home/apps/module/postgresql-13.4

    执行命令:

    ./configure --prefix=/home/apps/module/postgresql

    7编译PostgreSQL

    操作目录:cd /home/apps/module/postgresql-13.4

    编译命令:make -C /home/apps/module/postgresql-13.4

    解析:-C,编译指定目录下内容。

    8安装PostgreSQL

    操作目录:cd /home/apps/module/postgresql-13.4

    安装目标目录:/home/apps/module/postgresql

    安装命令:make install PREFIX=/home/apps/module/postgresql

    解析:使用PREFIX,把PostgreSQL安装到指定目录。在指定目录下生成:bin、include、lib、share。

    9创建PostgreSQL的数据目录

    创建命令:mkdir -p /home/data/postgresql/data

    解析:data目录存放PostgreSQL的数据。

    10修改数据目录和安装目录的用户所有权

    PostgreSQL安装目录和数据目录,所有权修改为postgres用户。

    安装目录赋权:chown -R postgres:postgres /home/apps/module/postgresql/

    数据目录赋权:chown -R postgres:postgres /home/data/postgresql/data/

    11设置PostgreSQL环境变量

    (1)切换用户和目录

    切换到postgres用户下操作。

    切换命令:su postgres

    切换到目录:cd /home/postgres

    查看用户下配置文件清单:ll -a

    (2)修改配置

    修改配置:vi .bash_profile

    修改内容:

    1. PGHOME=/home/apps/module/postgresql
    2. export PGHOME
    3. PGDATA=/home/data/postgresql/data
    4. export PGDATA
    5. PATH=$PATH:$HOME/.local/bin:$HOME/bin:$PGHOME/bin

    解析:PGHOME,安装目录;PGDATA,数据目录。

    (3)配置生效

    配置生效命令:source ./.bash_profile

    (4)确认配置生效

    查看版本命令:psql -V

    打印信息:psql (PostgreSQL) 13.4

    查看命令所在目录:which psql

    打印信息:/home/apps/module/postgresql/bin/psql

    以上,两条命令均可以验证配置已经生效。

    (5)设置开机启动配置生效

    默认情况下,重启机器后.bash_profile的环境变量会失效,需手动执行source命令刷新配置。设置为开机启动,自动刷新生效。

    修改指令:vi /etc/profile

    增加内容:source /home/postgres/.bash_profile

    12初始化PostgreSQL数据库

    初始化命令:initdb

    解析:配置了环境变量,因此initdb命令在postgres用户任意命令可以使用。

    打印成功信息:

    Success. You can now start the database server using:

    pg_ctl -D /home/data/postgresql/data -l logfile start

    13启动PostgreSQL数据库

    (1)启动PostgreSQL

    启动命令:pg_ctl -D /home/data/postgresql/data -l logfile start

    启动命令(指定日志目录):

    pg_ctl -D /home/data/postgresql/data -l /home/data/postgresql/data/postgres.log start

    解析:在执行初始化initdb成功后,会提示登录命令。

    打印信息:

    waiting for server to start.... done

    server started

    (2)查看PostgreSQL监听端口

    命令:netstat -atunlp | grep postgres

    解析:PostgreSQL的默认端口是:5432。

    14登录PostgreSQL数据库和修改密码

    (1)登录PostgreSQL

    登录命令:psql

    解析:默认登录不需要密码。

    (2)修改登录密码

    修改命令:\password

    口令:demo123456

    解析:需输入两次

    (3)退出登录

    方式一:exit

    方式二:\q

    解析:两种方式都可以退出登录的数据库。

    15设置远程可登录

    (1)修改远程可登录

    修改文件:vi /home/data/postgresql/data/postgresql.conf

    修改内容:

    listen_addresses = '*'

    解析:把#listen_addresses = 'localhost',修改为匹配所有IP地址。

    (2)修改登录需要密码

    修改文件:vi /home/data/postgresql/data/pg_hba.conf

    修改内容:

    1. local   all  all  password
    2. host    all  all  127.0.0.1/32  password
    3. host    all  all  192.168.19.1/32  password
    4. host    all  all  ::1/128  password

    解析:192.168.19.1/32,部署PostgreSQL主机是192.168.19.163。

    16重启PostgreSQL数据库

    (1)重启数据库

    重启动命令:

    pg_ctl -D /home/data/postgresql/data -l /home/data/postgresql/data/postgres.log restart

    解析:把日志打印到数据目录。

    打印信息:

    waiting for server to shut down.... done

    server stopped

    waiting for server to start.... done

    server started

    (2)登录数据库

    命令:psql

    解析:提示Password for user postgres:,需要输入登录密码。

    17创建数据库

    (1)创建数据库

    命令:create database  hzdb;

    (2)查看数据库列表

    命令:\l

    18创建数据库用户

    (1)创建数据库用户

    命令:create user hangzhou with password 'demo123456';

    (2)查看数据库用户

    命令:\du

    19使用navicat工具登录

    登录信息:192.168.19.163:5432

    用户名和口令:hangzhou/demo123456

     以上,感谢。

    2022年11月23日

  • 相关阅读:
    小白学Java
    交流回馈老化测试负载如何实现这些功能的
    【前缀“选区-” bat脚本】
    YOLOX加强特征提取网络Panet分析
    区块链实验室(26) - 区块链期刊Blockchain: Research and Applications
    GB/T28181协议介绍
    Python中的桌面应用开发库有哪些?
    Python 装饰器
    在线程中使用Spring的Bean的方法、不推荐把“线程”注入到Spring
    Latex如何消除并自定义算法标识
  • 原文地址:https://blog.csdn.net/zhangbeizhen18/article/details/128008248