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