安装 部署 postgresql数据库 搭建主从节点 (业务库)

安装 部署 postgresql数据库 搭建主从节点

(时序数搭建 (待更新))

文章目录

  • 安装 部署 postgresql数据库 搭建主从节点
    • 一 业务数据库搭建
      • 1. 安装 yum源(服务器可访问互联网时用)
      • 2. 安装客户端
      • 3. 安装服务端
      • 4. 初始化数据库
      • 5. 修改服务启动脚本
      • 6. 修改数据库配置
      • 7. 开启防火墙端口
      • 8. 启动数据库服务
      • 9. 修改数据库postgres用户密码
    • 二 主从热备配置
      • 1. 创建热备用户
      • 2. 进入自行创建的数据目录,修改 postgresql.conf 文件:
      • 3. 修改数据目录下的 pg_hda.conf 文件,需要添加replication的连接配置,注意此处应限制为特定机器的连接,该配置的第三列配置为之前创建的热备用户
      • 4. 重启主服务器的数据库服务
      • 5. 在主服务器和从服务器上检查运行是否正常
    • 三 安装插件

操作系统
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

在这里插入图片描述

6. 修改数据库配置

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

安装 部署 postgresql数据库 搭建主从节点 (业务库)_第1张图片
在这里插入图片描述

安装 部署 postgresql数据库 搭建主从节点 (业务库)_第2张图片
修改数据目录下的 pg_hda.conf 文件,添加允许连接到本数据库的地址:
在这里插入图片描述

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:

1
2
3

3. 修改数据目录下的 pg_hda.conf 文件,需要添加replication的连接配置,注意此处应限制为特定机器的连接,该配置的第三列配置为之前创建的热备用户

在这里插入图片描述

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数据库 搭建主从节点 (业务库)_第3张图片
从服务器:
安装 部署 postgresql数据库 搭建主从节点 (业务库)_第4张图片
使用postgres创建主服务器,在psql下运行下列命令:
postgres=# \x on
postgres=# select * from pg_stat_activity where usename = ‘【热备用户名】’;
若显示以下内容,说明已经成功搭建:

安装 部署 postgresql数据库 搭建主从节点 (业务库)_第5张图片
**

三 安装插件

**
安装所需的插件

  1. 安装PostGIS和pgAgent
yum install postgis25_11 -y
yum install pgagent_11 -y
  1. 切换到postgres用户,运行psql进入postgresql客户端,在postgres数据库中运行以下命令:
Create extension pgagent;
  1. 在postgresql客户端中运行以下命令创建数据库cs2:
Create database cs2;
  1. 在cs2数据库中创建数据库扩展
Create extension postgis;
Create extension "uuid-ossp";
Create extension "postgres_fdw"
  1. 使用root用户启动pgagent服务:
systemctl start pgagent_11
systemctl enable pgagent_11

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

你可能感兴趣的:(postgresql,数据库,postgresql)