postgresql数据库安装部署搭建主从节点的详细过程(业务库)
操作系统
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。
修改数据目录下的 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:
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. 在主服务器和从服务器上检查运行是否正常
主服务器:
从服务器:
使用postgres创建主服务器,在psql下运行下列命令:
postgres=# \x on
postgres=# select * from pg_stat_activity where usename = ‘【热备用户名】';
若显示以下内容,说明已经成功搭建:
**
三 安装插件
**
安装所需的插件
安装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 时序库
到此这篇关于postgresql数据库安装部署搭建主从节点的详细过程(业务库)的文章就介绍到这了,更多相关postgresql数据库安装部署内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!