最近工作中需要部署一套数据库服务到内网服务器上,借此机会,我重新整理了postgresql数据库的搭建及入门使用方法
1、安装方式(两种选一种)
a、第一种方式
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo yum install -y postgresql11-server
sudo /usr/pgsql-10/bin/postgresql-11-setup initdb
sudo systemctl enable postgresql-11
sudo systemctl start postgresql-11
注意:出现“缺少libzstd.so.1的依赖解决方案”,安装如下两个包即可解决
yum install epel-release.noarch -y
yum install libzstd.x86_64 -y
b、第二种方式
登录官网,找到对应的脚步进行下载安装
下载地址:https://www.postgresql.org/download/
安装完成后验证下服务是否正常启动,在linux服务器上执行并查看返回结果,看看进程里面是否存在postgresql相关的进程
ps -aux | grep postgres
2、设置登陆用户postgres
- cat /etc/passwd查看系统中的用户列表,新增了postgres用户
- 执行su – postgres切换到postgres用户。
- 执行psql登录数据库。
- 执行\l列出名下的数据库列表。
- 执行ALTER USER postgres WITH PASSWORD ‘密码’; 修改postgres用户密码,结尾一定要带分号结束符 “;”
备注:
- 列出所有库:\l
- 列出所有用户:\du
- 列出库下所有表:\d
- 退出:\q
3、修改配置支持远程访问
默认情况下postgres是不支持远程登录的。需做如下两处修改:
(1)/var/lib/pgsql/11/data/postgresql.conf 配置修改
支持在本地所有地址上监听
说明:listen_addresses表示监听的IP地址,默认在localhost处监听,即127.0.0.1的IP地址上监听,这会让远程的主机无法登录这台数据库。如果想从其他机器上登陆这台数据库,需把监听地址改为实际的网络地址,一种简单的方式是把这个值改为*,表示在本地的所有地址上监听。
参数port表示监听的数据库端口,默认为5432,支持自定义监听端口。
(2)/var/lib/pgsql/11/data/pg_hba.conf 配置修改
说明:添加红框内的配置以支持远程连接
完成上述2处配置修改后,需重启pg服务才能生效:
systemctl restart postgresql-11