postgresql 12版本搭建及主备部署操作

yizhihongxing

这里是postgresql 12版本搭建及主备部署操作的完整攻略。

安装postgresql 12

首先,你需要安装postgresql 12,可以通过以下两种方式进行安装操作:

方法一:Ubuntu软件源安装

在Ubuntu系统上,postgresql 12可以通过系统软件源进行安装,使用以下命令进行安装:

sudo apt-get update
sudo apt-get install postgresql-12

方法二:源码安装

你也可以通过源码进行安装,具体步骤如下:

  1. 下载postgresql 12的源码包,可以官网下载:https://www.postgresql.org/download/
  2. 解压源码包:tar -zxvf postgresql-12.tar.gz
  3. 进入源码目录: cd postgresql-12
  4. 执行预配置: ./configure --prefix=/usr/local/pgsql-12
  5. 编译: make
  6. 安装: sudo make install
  7. 创建postgresql用户:sudo useradd postgres
  8. 设置postgresql密码:sudo passwd postgres
  9. 初始化数据库: sudo /usr/local/pgsql-12/bin/initdb -D /usr/local/pgsql-12/data
  10. 启动postgresql: sudo /usr/local/pgsql-12/bin/pg_ctl -D /usr/local/pgsql-12/data -l logfile start

以上就是postgresql 12的安装操作。

主备部署

接下来,讲解postgresql 12的主备部署操作。

配置主库

主库的配置步骤如下:

  1. 修改postgresql.conf配置文件:sudo vim /etc/postgresql/12/main/postgresql.conf
listen_addresses = 'localhost,192.168.1.1'  # 修改监听IP地址
wal_level = replica  # 把wal_level的值设置为replica
max_wal_senders = 10  # 设置能够向外发送归档日志的最大进程数
wal_keep_segments = 256  # 设置能够保存归档日志的最小数量
hot_standby = on  # 开启热备份模式
  1. 修改pg_hba.conf权限文件:sudo vim /etc/postgresql/12/main/pg_hba.conf

在该文件中添加以下内容:

host replication postgres 192.168.1.1/24 md5

配置备库

备库的配置步骤如下:

  1. 修改postgresql.conf配置文件:sudo vim /etc/postgresql/12/main/postgresql.conf
listen_addresses = 'localhost'  # 修改监听IP地址
hot_standby = on  # 开启热备份模式
  1. 创建recovery.conf文件:sudo vim /usr/local/pgsql-12/data/recovery.conf

在该文件中添加以下内容:

standby_mode = 'on'
primary_conninfo = 'host=192.168.1.1 port=5432 user=postgres password=123456'
trigger_file = '/usr/local/pgsql-12/data/failover'
  1. 启动备库:sudo /usr/local/pgsql-12/bin/pg_ctl -l /usr/local/pgsql-12/data/logfile -D /usr/local/pgsql-12/data start

测试主备切换

为了测试主备切换,可以模拟主库故障的情况。

  1. 手动停止主库:sudo /usr/local/pgsql-12/bin/pg_ctl -D /usr/local/pgsql-12/data -l logfile stop
  2. 备库自动切换为主库,可以通过以下命令查看:sudo /usr/local/pgsql-12/bin/psql -U postgres -h localhost -p 5432 -c "select pg_is_in_recovery()"
  3. 如果结果显示为“f”,则说明备库已经成为了主库。

如上就是postgresql 12版本搭建及主备部署操作的完整攻略。

参考示例一:https://www.cnblogs.com/lfri/p/12035564.html

参考示例二:https://www.jianshu.com/p/0a8ac490f4c0

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:postgresql 12版本搭建及主备部署操作 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • php的PDO事务处理机制实例分析

    我们来详细讲解一下“PHP的PDO事务处理机制实例分析”的完整攻略。 什么是PDO? PDO(PHP Data Objects)是PHP的一个数据库抽象层,提供了一个统一的接口来访问不同的数据库管理系统。使用PDO,我们可以用一种固定的方式来访问不同的数据库,而不用考虑到底是哪种数据库系统。 什么是事务? 事务是指一系列数据库操作,要么全部执行,要么全部不执…

    database 2023年5月21日
    00
  • 建立在Tablestore的Wifi设备监管系统架构实现

    建立在Tablestore的Wifi设备监管系统架构实现是一个典型的大型云计算项目,具有一定的技术难度和复杂度。下面是一个完整的攻略,帮助开发人员搭建该系统。 系统架构实现概述 该系统主要包含以下几个模块: WiFi设备数据采集模块:负责采集WiFi设备的数据,包括MAC地址、信号强度、入网时间、出网时间等; 数据存储模块:负责存储采集到的WiFi设备数据,…

    database 2023年5月22日
    00
  • Redis哨兵(sentinel)

    目录 前言 原理 架构图 下载 命令 配置 启动 查看 Sentinel(哨兵)配置 常用命令 Q&A Redis主从配置异常解决:Error condition on socket for SYNC: Connection refused (DENIED Redis is running in protected mode) 前言 背景:测试环境的…

    Redis 2023年4月13日
    00
  • Go打包二进制文件的实现

    Go打包二进制文件的实现 在Go语言中,可以使用go build命令将程序编译成二进制文件。默认情况下,编译后的二进制文件将会保存在当前目录下,其名称与当前目录的名称相同。同时,也可以通过一些参数来设置编译后二进制文件的名称和路径。 编译单个Go文件 我们可以通过以下命令来将单个Go文件进行编译: go build example.go 这将会在当前目录下生…

    database 2023年5月22日
    00
  • Firebase和Derby的区别

    Firebase和Derby都是面向实时多人协作的应用程序开发平台,但它们具有不同的功能和特点。下面将分别详细讲解Firebase和Derby的区别: Firebase Firebase是一种面向实时多人协作的应用程序开发平台,它可以提供实时数据同步和授权用户身份验证等功能。Firebase可以迅速开发应用程序,并且不需要自己搭建服务器。 实时数据库 Fir…

    database 2023年3月27日
    00
  • MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决

    针对MySQL中TIMESTAMP类型返回日期时间数据中带有T的问题,我们可以通过以下几种方法来解决: 方法一:使用DATE_FORMAT函数 可以使用DATE_FORMAT函数将带有T的日期时间格式化成我们需要的格式,例如: SELECT DATE_FORMAT(‘2022-01-01T12:30:00’, ‘%Y-%m-%d %H:%i:%s’); 这样…

    database 2023年5月22日
    00
  • Mysql避免重复插入数据的4种方式

    下面是Mysql避免重复插入数据的4种方式的完整攻略,包含示例说明。 1.使用UNIQUE约束 可以在建表的时候,指定某个字段为UNIQUE,这样当插入数据的时候,如果该字段的值已经存在,则会插入失败,进而避免重复插入。 示例: 假设我们要创建一张用户表,其中email字段需要保证唯一,可以这样定义: CREATE TABLE user ( id INT(1…

    database 2023年5月19日
    00
  • MYSQL数据库表结构优化方法详解

    MYSQL数据库表结构优化方法详解 为什么要优化表结构 MYSQL是一款常用的数据库软件,我们在使用中发现,如果表结构设计不合理,会导致查询效率低、冗余数据等问题,甚至还可能会威胁到数据的安全性和完整性。因此,为了提高查询效率和数据安全性,需要进行表结构优化。 优化方法 1. 合理设置表字段类型、长度和属性 在设计表结构中,需要根据数据特性和使用情况来选择合…

    database 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部