0%

centos7 安装 postgresql

安装

1
2
3
4
5
6
7
8
9
# 安装方式一: yum 直接安装
# 建议先用 yum search 查看你的 yum 源下是否是 13
yum -y install postgresql-server

# 安装方式二: 安装官方 yum 源再安装 postgresql

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

yum install -y postgresql13-server

初始化

1
2
# 不初始化没有配置文件数据等  或者 /usr/pgsql-13/bin/postgresql-13-setup initdb
postgresql-setup initdb

修改配置

修改密码

安装 postgresql 后,会创建 postgres 用户

1
2
3
4
5
6
7
8
# 切换用户
su -postgres

# 切换成功后. 可以看到命令行变为

[root@alexliu ~]# su - postgres
上一次登录:三 12月 9 11:11:56 CST 2020pts/0 上
-bash-4.2$
1
2
3
4
5
6
7
8
9
10
# 打开 postgresql

psql -U postgres

# 成功后
-bash-4.2$ psql -U postgres
psql (9.2.24)
输入 "help" 来获取帮助信息.

postgres=#
1
2
# 修改密码, 密码内容自定义 , 注意语句结束需要加上 `;`
ALTER USER postgres with encrypted password 'abc123';
1
2
3
# 修改完成后 
\q # 退出 postgresql
exit # 退出 postgresql 后输入 exit 返回 root 用户

获取配置目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 切换用户
su -postgres
# 打开 postgresql
psql


# 查询config_file
postgres=# show config_file;
config_file
-------------------------------------
/data/pgsql/13/data/postgresql.conf

# 查询当前数据目录
postgres=# show data_directory;
data_directory
---------------------
/data/pgsql/13/data

允许远程登陆

1
2
3
4
5
6
7
8
9
vi /var/lib/pgsql/13/data/postgresql.conf

# 打开配置后
:set number # 开启行号显示

# 把第 59 行的 监听地址 改为 * . 默认是注释掉的
59 listen_addresses = '*' # what IP address(es) to listen on;
60 # comma-separated list of addresses;
61 # defaults to 'localhost'; use '*' for all
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
vi /var/lib/pgsql/13/data/pg_hba.conf

# 打开配置后, 找到如下配置(最后面)


# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
# IPv4 local connections:
host all all 127.0.0.1/32 ident
# IPv6 local connections:
host all all ::1/128 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local replication postgres peer
#host replication postgres 127.0.0.1/32 ident
#host replication postgres ::1/128 ident



# 添加如下内容在最后
host all all 0.0.0.0/0 md5

系统配置

启动\停止\开机启动

1
2
3
4
5
6
7
8
9
10
# 启动
systemctl start postgresql
# 停止
systemctl start postgresql
# 状态
systemctl status postgresql
# 重启
systemctl restart postgresql
# 开机启动
systemctl enable postgresql

防火墙配置

1
2
3
4
5
6
firewall-cmd --add-service=postgresql --permanent
firewall-cmd --zone=public --add-port=5432/tcp --permanent # 5432为postgresql端口
firewall-cmd --reload

# 查看防火墙开放端口
firewall-cmd --zone=public --list-ports