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数据库安装部署内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 对Postgresql中的json和array使用介绍

    结合近期接触到的知识点,做了一个归纳.会持续更新 json 官网文档 http://www.postgres.cn/docs/12/datatype-json.html json的两种格式 总结:json输入快,处理慢.是精准拷贝,所以能准确存储遗留对象的原格式,如对象键顺序.jsonb输入慢,处理快.会被重新解析成json数据,不保存原对象的键顺序,并且去重相同的键值,以最后一个为准.通常,除非有特别特殊的需要(例如遗留的对象键顺序假设),大多数应用应该 更愿意把 JSON 数据存储为json

  • postgreSQL数据库的监控及数据维护操作

    目前postgreSQL数据库的管理,数据查询等都需要安装postgreSQL软件或安装pgadmin等,远程访问都需要先登录到服务器等繁琐的操作.如果是开发团队,那么每个开发,测试,管理人员都要经历这个麻烦的过程. 使用Treesoft数据库管理系统,基于web方式管理postgreSQL,只需安装一次,大家直接通过浏览器使用,维护及监控数据库,大大简化工作量. 监控的指标包括:连接数,数据库大小,表空间,锁情况,QPS事务数等. Treesoft数据库管理系统,支持直接网络在线维护数据,数据

  • 启动PostgreSQL服务器 并用pgAdmin连接操作

    如果需要启动PostgreSQL数据库,可进入PostgreSQL的安装目录,在cmd窗口下执行:pg_ctl.exe start -D ..\data . 即可重新启动服务 . 执行结果如下图: 补充:PostgreSQL - pgAdmin4远程连接数据库 前言 PostgreSQL在安装的时候自带的pgAdmin这个可视化工具,自从将PostgreSQL9升级到了10版本后,自带的pgAdmin也从3升级到了4版本.pgAdmin4的变化非常巨大,刚接触时一脸懵逼,这里记录下怎么用pgAd

  • 如何获取PostgreSQL数据库中的JSON值

    在PostgreSQL数据库中有一列为JSON,要获取JSON中得数据可以用下面sql: select orderno as OrderNo ,amount as Amount ,ordertime as OrderTime , recordtype as RecordType from jsonb_to_recordset(( --特定方法 select array_to_json(array_agg(data)) --转换成一个数组 from wallet_details where id

  • Postgresql的日志配置教程详解

    背景 公司的项目中使用了postgresql(简称pg)作为其数据库管理系统,前两天环境突然崩溃了,页面无法打开.经过排查,我发现是数据库所在机器磁盘满了,通过目录和文件排序,原来是pg的日志太多(大约保留了大半年的日志在磁盘上没有被清理). 我看了下pg的日志配置,发现基本都是用的默认配置,日志滚动没有开启,于是乎做了下相关配置优化后对pg进行重启,最后看了pg的日志滚动,恢复正常了.以下是我梳理的关于pg的日志配置项. 配置详解 配置文件:postgresql.conf 配置1:日志开启与关

  • PostgreSQL 更新JSON,JSONB字段的操作

    直接使用 update 表名 set 列名 = (jsonb_set(列名::jsonb,'{key}','"value"'::jsonb)) where 条件 要注意里面的单引号和双引号. 补充:向PostgreSQL中json中加入某个字段 或者更新某个字段的SQL语句 需求:通过SQL的方式,对JSON里面的某个字段统一处理,更新成一个新值 1.向PostgreSQL中json中加入某个字段.例如:向users表中id为3的data列中加入 {"uptate_data&

  • PostgreSQL批量update与oracle差异详解

    上篇文章给大家介绍了PostgreSQL实现批量插入.更新与合并操作的方法 感兴趣的朋友可以点击查看,今天给大家分享PostgreSQL批量update与oracle差异,具体内容如下所示: 当我们在数据库中有这样的需求时: 需要以某列的当前值为判断对象,将其更新成其它值. 例如下面一张表: ID INFO ---------- ---------- 2 a 1 b 3 c 4 d 5 e 我们最简单的方式就是通过多个update来完成: update t1 set id= 2 where id

  • 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-serve

  • 利用MySQL Shell安装部署MGR集群的详细过程

    目录 1. 安装准备 2. 利用MySQL Shell构建MGR集群 3. MySQL Shell接管现存的MGR集群 4. 小结 参考资料.文档 免责声明 本文介绍如何利用MySQL Shell + GreatSQL 8.0.25构建一个三节点的MGR集群. MySQL Shell是一个客户端工具,可用于方便管理和操作MySQL,支持SQL.JavaScript.Python等多种语言,也包括完善的API.MySQL Shell支持文档型和关系型数据库模式,通过X DevAPI可以管理文档型数

  • Docker部署搭建WebDav服务的详细过程

    目录 问题分析 部署 前言 教程 问题分析 最近在用学校机房中的服务器搭建一个文件共享服务,前期使用了宝塔面板一键搭建了 FTP 服务器,使用一切正常.但是最近在使用其观看存储的视频文件时播放体验并不友好,决定更换共享服务. samba 可能由于端口等问题一直未能成功连接,且搭建过程较为复杂.DLNA 使用 minidlna 的搭建异常方便,但是在安卓手机上的 nplayer 和 vlc 不能通过 zerotier 搭建的虚拟局域网搜索到 DLNA 服务.NFS 由于未知原因也未能在 zerot

  • Redis数据库安装部署及基本操作详解

    Redis数据库概述 Redis是一个开源的.使用c语言编写NoSQL数据库,它是基于内存运行并支持持久化,采用key-value(键值对)的存储形式, 是目前分布式结构中不可或缺的 Redis相比于其他数据库的优点 具有极高的数据读写速度:读(110000次/s),写(81000次/s) 支持丰富的数据类型:支持key-value.strings.Lists.Hashes(散列值).Sets等数据类型操作 支持数据持久化:可以将内存中的数据保存在磁盘中 Redis所有操作都是具有原子性的 Re

  • MongoDB数据库安装部署及警告优化

    目录 1.软件下载 2.部署MongoDB 2.1.规划部署目录 2.2.下载软件包 2.3.安装MongoDB 2.4.MongoDB配置文件介绍 2.5.编写MongoDB配置文件 2.6.启动MongoDB 2.7.如何关闭MongoDB 2.8.登录MongoDB 3.优化MongoDB警告信息 3.1.优化启动用户警告 3.2.优化大内存页警告 3.2.1.永久关闭大内存页 3.2.2.临时关闭大内存页 3.3.优化limit警告 1.软件下载 3.6.13版本:https://fas

  • Centos7 安装部署Kubernetes(k8s)集群实现过程

    目录 一.系统环境 二.前言 三.Kubernetes 3.1 概述 3.2 Kubernetes 组件 3.2.1 控制平面组件 3.2.2 Node组件 四.安装部署Kubernetes集群 4.1 环境介绍 4.2 配置节点的基本环境 4.3 节点安装docker,并进行相关配置 4.4 安装kubelet,kubeadm,kubectl 4.5 kubeadm初始化 4.6 添加worker节点到k8s集群 4.7 部署CNI网络插件calico 4.8 配置kubectl命令tab键自

  • Ubuntu使用nginx搭建webdav文件服务器的详细过程

    安装nginx 注意必须安装nginx-full, 默认的nginx里面并不包含webdav模块 $ sudo apt install -y nginx-full 创建相关文件夹 # 用来保存共享文件的位置 $ sudo mkdir -p /home/dav $ sudo chown -R www-data:www-data /home/dav 配置 $ sudo vim /etc/nginx/sites-enabled/webdav.conf 内容如下: server { listen 80;

  • Debian中PostgreSQL数据库安装配置实例

    用惯了MySQL后,想尝试使用下PostgreSQL,据说这玩意儿也很强大,我在网上搜索了下相关中文书籍,可惜相关书籍远远没有MySQL那么多,不过我在官方找到了由志愿者翻译的文档(参考9.1文档翻译项目),说实话我英文文档阅读能力还是比较纠结的,所以有中文文档当然优先中文了. 在Debian下可以通过apt-get命令直接安装: 复制代码 代码如下: sudo apt-get install postgresql postgresql-client postgresql-server-dev-

  • Win11平台安装和配置NeoVim0.8.2编辑器搭建Python3开发环境详细过程(2023最新攻略)

    目录 安装配置 第一个NeoVim插件 目录管理 终端配置 Python代码补全配置 结语 毫无疑问,我们生活在编辑器的最好年代,Vim是仅在Vi之下的神级编辑器,而脱胎于Vim的NeoVim则是这个时代最好的编辑器,没有之一.异步支持.更好的内存管理.更快的渲染速度.更多的编辑命令,是大神Thiago de Arruda对开发者们最好的技术馈赠. 之前一篇:Win10系统下安装编辑器之神(The God of Editor)Vim并且构建Python生态开发环境(2020年最新攻略),我们已经

  • 开源框架 Matrix-Dendrite 搭建聊天服务器的详细过程

    目录 开源框架Matrix-Dendrite搭建聊天服务器 关于Matrix 开始搭建 需要准备的'东西' PostgreSQL 01.创建PostgreSQL配置文件目录 02.创建databases文件夹存储数据库 03.配置Docker命令创建容器 04.连接数据库以确认初始化正常 Matrix-Dendrite 01.创建Dendrite文件夹存储配置文件 (1)生成matrix_key.pem服务器密钥文件 (2)修改Dendrite配置文件 02.创建数据存储目录 03.创建Dend

随机推荐