系统版本:Centos7.9
yum install -y gcc-c++ gcc cmake ncurses-devel perl zlib*
1、官网下载
下载地址:https://www.postgresql.org/ftp/source/v13.4/
2、创建用户和组
[root@node1 ~]# mkdir /home/postgresql
[root@node1 postgresql]# useradd postgres
[root@node1 postgresql]# groupadd postgres
3、指定安装路径
[root@node1 postgresql]# ll
-rw-r--r--. 1 root root 27687091 Aug 18 09:15 postgresql-13.4.tar.gz
[root@node1 postgresql]# tar -zxvf postgresql-13.4.tar.gz
[root@node1 postgresql]# cd postgresql-13.4
[root@node1 postgresql-13.4]# ./configure --prefix=/home/postgresql
//这里可能会报错configure: error: readline library not found
//执行即可解决问题:
[root@node1 postgresql-13.4]# yum install -y readline-devel
//成功再次编译安装路径./configure --prefix=/home/postgresql
[root@node1 postgresql-13.4]# make && make install
//创建数据库文件目录
[root@node1 postgresql-13.4]# mkdir /home/postgresql/data
[root@node1 postgresql-13.4]# chown postgres /home/postgresql/data/
[root@node1 postgresql-13.4]# chgrp postgres /home/postgresql/data/
//切换用户
[root@node1 postgresql-13.4]# su - postgres
Last login: Thu Sep 23 15:10:20 CST 2021 on pts/0
[postgres@node1 ~]$
4、初始化数据库
[postgres@node1 ~]$ /home/postgresql/bin/initdb -D /home/postgresql/data/
5、修改配置
[postgres@node1 ~]$ vim /home/postgresql/data/pg_hba.conf //添加host all all 0.0.0.0/0 md5
# replication privilege.
host all all 0.0.0.0/0 md5
[postgres@node1 ~]$ vim /home/postgresql/data/postgresql.conf //去掉listen_addresses和port注释,将localhost改为*
# - Connection Settings -
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
max_connections = 100 # (change requires restart)
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directories = '/tmp' # comma-separated list of directories
# (change requires restart)
6、启动数据库服务
[postgres@node1 ~]$ /home/postgresql/bin/pg_ctl -D /home/postgresql/data -l logfile start
//修改密码
[postgres@node1 ~]$ /home/postgresql/bin/psql
psql (13.4)
Type "help" for help.
postgres=# \password postgres
登录即可正常使用了