postgresql数据库安装部署搭建主从节点的详细过程(业务库)

(编辑:jimmy 日期: 2024/12/25 浏览:2)

操作系统
64位CentOS 7
数据库搭建

一 业务数据库搭建

1. 安装 yum源(服务器可访问互联网时用)

yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

2. 安装客户端

yum install postgresql11 –y

3. 安装服务端

yum install postgresql11-server -y

4. 初始化数据库

使用yum安装后,会在系统中创建一个postgres的无密码用户。在主节点服务器切换到此用户,然后创建一个数据目录,该目录将存放所有的配置文件、数据库文件和日志文件。

root # mkdir -p /u01/apps/pgsql/data
root # chown -R postgres:postgres /u01/apps/pgsql/

PostgreSQL的安装目录默认存放在/usr/pgsql-11,使用下面的命令初始化数据库目录:
使用postgres用户执行:录
我放在

/usr/pgsql-11/bin/initdb -D 【数据目录全路径】

5. 修改服务启动脚本

使用root用户修改 /usr/lib/systemd/system/postgresql-11.service 文件,将其中的PGDATA修改为新的数据目录

vim /usr/lib/systemd/system/postgresql-11.service

postgresql数据库安装部署搭建主从节点的详细过程(业务库)

6. 修改数据库配置

使用postgres用户进入自行创建的数据目录,修改 postgresql.conf 文件:
必须要修改listen_addresses、port、max_connections、log_timezone、timezone、datestyle

postgresql数据库安装部署搭建主从节点的详细过程(业务库)
postgresql数据库安装部署搭建主从节点的详细过程(业务库)

postgresql数据库安装部署搭建主从节点的详细过程(业务库)

修改数据目录下的 pg_hda.conf 文件,添加允许连接到本数据库的地址:

postgresql数据库安装部署搭建主从节点的详细过程(业务库)

7. 开启防火墙端口

firewall-cmd --add-port=5432/tcp --permanent
firewall-cmd --reload

8. 启动数据库服务

启动服务:systemctl start postgresql-11
停止服务:systemctl stop postgresql-11
重启服务:systemctl restart postgresql-11

9. 修改数据库postgres用户密码

修改数据库postgres用户密码,使用系统的postgres用户进入psql,执行以下命令:

[root]# su - postgres
上一次登录:二 12月 29 13:35:56 CST 2020pts/0 上
-bash-4.2$ psql
psql (11.5)
输入 "help" 来获取帮助信息.
 postgres=# ALTER USER postgres ENCRYPTED PASSWORD '【密码】';

**

二 主从热备配置

**

1. 创建热备用户

启动数据库服务,切换至操作系统的postgres用户,运行psql
在psql命令行中运行下面的命令创建热备用户,注意用户名只能是小写字母:

CREATE USER 【用户名】 REPLICATION LOGIN CONNECTION LIMIT 3 ENCRYPTED PASSWORD '【密码】';

2. 进入自行创建的数据目录,修改 postgresql.conf 文件:

除 之前 所做的修改外,还需要修改wal_level、max_wal_senders、wal_keep_segments、hot_standby:

postgresql数据库安装部署搭建主从节点的详细过程(业务库)
postgresql数据库安装部署搭建主从节点的详细过程(业务库)
postgresql数据库安装部署搭建主从节点的详细过程(业务库)

3. 修改数据目录下的 pg_hda.conf 文件

需要添加replication的连接配置,注意此处应限制为特定机器的连接,该配置的第三列配置为之前创建的热备用户

postgresql数据库安装部署搭建主从节点的详细过程(业务库)

4. 重启主服务器的数据库服务

在从服务器上安装PostgreSQL,仅需要创建数据目录,不需要初始化数据库,使用下面的命令将主服务的数据文件同步至从服务器:

/usr/pgsql-11/bin/pg_basebackup -h 【主服务器地址】 -p 【主服务器端口】 -D 【从服务器数据目录】 -P -U 【主服务器热备用户】

在从服务器上修改postgresql.conf,修改port为从机的端口(5433)
在从服务器的数据目录下创建一个recovery.conf文件,内容如下:

standby_mode  = 'on'
primary_conninfo = 'host=【主服务器地址】 port=5432 user=【主服务器热备用户】 password=【主服务器热备用户密码】'
trigger_file = '/tmp/pgsql_master'

启动从服务器的数据库服务

5. 在主服务器和从服务器上检查运行是否正常

主服务器:

postgresql数据库安装部署搭建主从节点的详细过程(业务库)

从服务器:

postgresql数据库安装部署搭建主从节点的详细过程(业务库)

使用postgres创建主服务器,在psql下运行下列命令:
postgres=# \x on
postgres=# select * from pg_stat_activity where usename = ‘【热备用户名】';
若显示以下内容,说明已经成功搭建:

postgresql数据库安装部署搭建主从节点的详细过程(业务库)

**

三 安装插件

**
安装所需的插件

安装PostGIS和pgAgent

yum install postgis25_11 -y
yum install pgagent_11 -y

切换到postgres用户,运行psql进入postgresql客户端,在postgres数据库中运行以下命令:

Create extension pgagent;

在postgresql客户端中运行以下命令创建数据库cs2:

Create database cs2;

在cs2数据库中创建数据库扩展

Create extension postgis;
Create extension "uuid-ossp";
Create extension "postgres_fdw"

使用root用户启动pgagent服务:

systemctl start pgagent_11
systemctl enable pgagent_11

主从的postgresql数据库配置到这里就结束了 下次再说 postgresql数据库转换成 timescaledb 时序库