1.pg下载地址:
PG使用系统自带的安装包.系统自带的pg版本为pg9.2
这里经过测试不能使用非常新的pg版本,否则后面php编译不通过.建议使用9系列的版本
2.安装rpm包
挂载系统镜像后,使用yum进行本地安装:
yum install postgresql*
3.初始化数据库
安装完成之后,需要初始化数据库,PGDATA默认的安装目录为/var/lib.如果想要修改PGDATA安装目录,则需要修改postgresql.service里面的PGDATA目录
[root@zabbix pg12]# vi /usr/lib/systemd/system/postgresql.service
Environment=PGDATA=/data/pgsql-9
例如我们这里将pg的数据文件目录修改为/data/pgsql-9 ,使用postgresql-setup来初始化数据库:
[root@zabbix pg12]# chown -R postgres:postgres /data/pgsql-9
[root@zabbix pg12]# /usr/bin/postgresql-setup initdb
Initializing database ... OK
设置为开机自动启动:
[root@zabbix pg12]# systemctl enable postgresql
Created symlink from /etc/systemd/system/multi-user.target.wants/postgresql.service to /usr/lib/systemd/system/postgresql.service.
[root@zabbix pg12]# systemctl start postgresql
4.修改环境变量
登录到postgres用户,修改PGDATA环境变量,并且将PGHOME添加到PATH中
su - postgres
vi .bash_profile
export PGDATA=/data/pgsql-9
export PATH=$PGHOME/bin:$PATH
export PS1="[\u@\H \w]$"
5.打开远程登录
首先修改一下postgres的密码:
[postgres@zabbix /data/pgsql-9]$psql
psql (12.4)
Type "help" for help.
postgres=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
postgres=# alter user postgres with password 'postgres';
ALTER ROLE
修改postgresql.conf,监听所有地址:
su - postgres
cd $PGDATA
vi postgresql.conf
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)
修改pg_hba.conf, 在最后添加允许远程登录:
host all all 0.0.0.0/0 md5
重启postgresql:
可以使用
systemctl restart postgresql
或者:
pg_ctl stop -m fast
pg_ctl start
在windows上进行测试:
[postgres@zabbix /data/pgsql-12]$psql
psql (12.4)
Type "help" for help.
postgres=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------------------+-----------
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS | {}
postgres=# alter user postgres with password 'postgres';
ALTER ROLE
这样,一个快速的pgsql就搭建完成了!