首先安装对应版本的包:

yum install https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm -y  
yum list | grep postgresql
yum install centos-release-scl
yum install postgresql13-devel postgresql13-contrib postgresql13-server -y

安装后先初始化postgres数据库

/usr/pgsql-13/bin/postgresql-13-setup initdb

启动数据库

sudo systemctl start postgresql-13

添加到开机启动

sudo systemctl enable postgresql-13.service

修改postgres数据库密码

su - postgres
psql
ALTER USER postgres WITH PASSWORD '123456';
\q

修改监听和运程连接数据库
修改/var/lib/pgsql/13/data目录下的pg_hba.conf

cd /var/lib/pgsql/13/data 
vi pg_hba.conf 

修改IPv4 一行内容如下:

IPv4 local connections:

host all all 0.0.0.0/0 trust

修改postgresql.conf:

vi postgresql.conf 
//修改监听一节如下: 
# - Connection Settings -     
listen_addresses = ‘*’     
port = 5432

重启pg服务生效

systemctl enable postgresql-13
systemctl start postgresql-13

服务器配置在 postgresql.conf中,修改配置后需要 使用 pg_ctl restart -D dir_db 命令重启数据库;

此外,我们也可以在登陆数据库后修改配置项:使用 SELECT * FROM pg_settings WHERE name = 'config'; 查询当前配置项,再使用 UPDATE 语句更新配置。但有些配置如内存分配策略是只在当前 session 生效的,全局生效需要在配置文件中修改,再重启服务器。

我们可以修改配置并用客户端验证 SQL 语句的优化,使用 \timing on 开启查询计时,使用 EXPLAIN ANALYSE 语句 分析查询语句效率。 下面介绍两个已实践过的配置参数:

shared_buffers:用于指定共享内存缓冲区所占用的内存量。它应该足够大来存储常使用的查询结果,以减少物理I/O。但它也不能太大,以避免系统 内存swap 的发生, 一般设置为系统内存的 20%。
work_mem:一个连接的工作内存,在查询结果数据量较大时,此值如果较小的话,会导致大量系统 I/O,导致查询速度急剧下降,如果你的 explain 语句内 buffer 部分 read数值过大,则表示工作内存不足,需要调整加此参数。但此值也不能太大,需要保证 work_mem * max_connections + shared_buffers + 系统内存 < RAM,不然同样可能会导致系统 内存swap。
这样,PgSQL 就能作为一个正常的关系型数据使用了。