# 安装部署
# 部署
# 虚拟机部署
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install postgresql12
yum install postgresql12-server
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable postgresql-12
systemctl start postgresql-12
默认系统用户和数据库用户 postgres
登录数据库(使用 ident 方式):psql -U postgres
默认端口:5432
# 容器部署
docker run -d --name kong-postgresql \
-p 5432:5432 \
-e "POSTGRES_USER=kong" \
-e "POSTGRES_PASSWORD=kong" \
-e "POSTGRES_DB=kong" \
postgres:10.9
# 配置
- /var/lib/pgsql/12/data/postgresql.conf 主配置文件
- /var/lib/pgsql/12/data/pg_hba.conf 访问控制(客户端权限)配置文件
- /var/lib/pgsql/12/data/pg_ident.conf ident 模式映射文件
ident 模式:PG 在本地登录时允许系统用户名(SYSTEM-USERNAME)和数据库用户名(PG-USERNAME)相同的用户免密登录。简单说就是如果数据库用户存在对应的同名系统用户,则本地登录可以通过:
su - username;psql
psql -U username
进行免密登录
如果系统用户名和数据库用户名不一致时也想要免密登录,则需要配置 pg_ident.conf 映射文件
# 开放外部登录
/var/lib/pgsql/12/data/postgresql.conf
listen_addresses = '*'
/var/lib/pgsql/12/data/pg_hba.conf
host all all 0.0.0.0/0 md5
# 管理
# pg_ctl 管理工具
# 重载配置文件
/usr/pgsql-12/bin/pg_ctl reload -D /var/lib/pgsql/12/data/
如果设置了环境变量 PGDATA=/var/lib/pgsql/12/data/则不必使用-D 参数,其他方法类似
# PGCLI 安装
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install python-pip python-devel postgresql-devel
pip install pgcli