当前环境: CentOS 7.6(x64)
安装
# 添加库
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 安装包
yum install postgresql12 postgresql12-server
# 数据库初始化
/usr/pgsql-12/bin/postgresql-12-setup initdb
# 开机启动
systemctl enable postgresql-12
# 启动
systemctl start postgresql-12
配置
初次安装后,默认生成一个名为postgres的数据库和一个名为postgres的数据库用户。这里需要注意的是,同时还生成了一个名为postgres的Linux系统用户。需要重置postgres数据库用户的密码。
# 切换到postgres用户
su postgres
# 使用psql命令登录PostgreSQL控制台。
psql
这时相当于系统用户postgres以同名数据库用户的身份,登录数据库,这是不用输入密码的。 为postgres用户设置一个密码
password
创建用户
# 创建用户
sudo -u postgres createuser --interactive
# 创建数据库并制定所有者
sudo -u postgres createdb -O dbuser exampledb
远程连接
修改postgresql.conf
postgresql.conf存放位置在/var/lib/pgsql/12/data/
下,编辑或添加下面一行,使PostgreSQL可以接受来自任意IP的连接请求。
listen_addresses = '*'
修改pg\_hba.conf
pg\_hba.conf,位置与postgresql.conf相同,虽然上面配置允许任意地址连接PostgreSQL,但是这在pg中还不够,我们还需在pg\_hba.conf中配置服务端允许的认证方式。任意编辑器打开该文件,编辑或添加下面一行。
# TYPE DATABASE USER CIDR-ADDRESS METHOD
host all all 0.0.0.0/0 md5