postgres 异步standby 创建

简介:

postgres 异步standby 创建

 

说明

 

1、如果要求及时性不是很高(前后几秒钟的差距),那么建议使用postgres的备份数据库可以是异步流复制STANDBY

2、主节点指的是生产库,standby指的是备份库

    3、如无说明,#代表root用户,$代表osdba用户

 

问题

 

1、该测试是在postgres9.3系列完成,已知在postgres9.0系列才开始流复制概念

2、该测试没有测试表空间为自己创建时(默认只有的表空间)的迁移情况,所以迁移时要注意

 

环境

 

  操作系统:CentOS release 6.5 (Final)

  数据库:postgres (9.3.13)

  

异步standby创建

 

 

1、以主节点的相关信息为模板,新建和主节点类似的服务器

 

略过

 

2、检查主节点的编译环境

 

$ pg_config --configure

'--prefix=/usr/local/pgsql' '--with-perl' '--with-python'

 

3、在standby节点模仿主节点进行编译工作,进行三板斧操作

 

# ./configure --prefix=/usr/local/pgsql --with-perl --with-python

# make

# make install

 

4、模仿主节点创建用户名密码,以及.bash_profile环境

   

略过

 

5、在主节点创建用户拥有权限replication

 

   $ psql -d postgres

   

   =# create role replica login REPLICATION ENCRYPTED PASSWORD 'replica

 

6、修改主节点的pg_hba.conf

  

 $ cd $PGDATA

   $ vim pg_hba.conf

   

host    replication    replica          192.168.1.0/24          md5

 

   

7、修改主节点的postgresql.conf

  

 $ cd $PGDATA

   $ vim postgresql.conf

 

    listen_addresses = '*'

    max_wal_senders = 32

    wal_keep_segments = 256

wal_level = hot_standby

hot_standby = on

 

8standby节点执行基础备份

    

    $ pg_basebackup -F p -D $PGDATA -R -x -h 192.168.1.36 -p 5432 -U replica

    $ ls -ls $PGDATA

    

9、检查并修改standby节点的recovery.conf

    

$ vim $PGDATA/recovery.conf

  

standby_mode = 'on'

primary_conninfo = 'user=replica password=replica host=192.168.1.36 port=5432 sslmode=disable sslcompression=1'

 

如果符合上文中standby执行基础备份的脚本密码,就不需要修改

 

10、启动standby节点并检查进程

 

$ pg_ctl start

$ psql

$ ps -ef|grep postgres

 

 

11、测试

 

1、主节点和standby是否同步

 

在主节点上创建一张表,并插入数据,测试standby是否存在表和数据

[osdba@pg36 data]$ psql

psql (9.3.13)

Type "help" for help.

 

osdba=# create table t_1(id int,info text);

CREATE TABLE

osdba=# insert into t_1 select generate_series(1,1000),'good';

INSERT 0 1000

 

[osdba@pg37 data]$ psql

psql (9.3.13)

Type "help" for help.

 

osdba=# \dt

       List of relations

 Schema | Name | Type  | Owner

--------+------+-------+-------

 public | t_1  | table | osdba

(1 row)

 

osdba=# select count(1) from t_1;

 count

-------

  1000

(1 row)

 

2、standby挂掉后,是否影响主节点使用

 

当备机挂掉时,并不影响主机的正常的使用,等备机重新启动时,自动将数据同步

 

[osdba@pg37 data]$ pg_ctl stop

waiting for server to shut down.... done

server stopped

 

[osdba@pg36 data]$ psql

psql (9.3.13)

Type "help" for help.

 

osdba=# insert into t_1 select generate_series(1,1000),'good';

INSERT 0 1000

osdba=# insert into t_1 select generate_series(1,1000),'good';

INSERT 0 1000

 

[osdba@pg37 data]$ pg_ctl start

server starting

[osdba@pg37 data]$ psql

psql (9.3.13)

Type "help" for help.

 

osdba=# select count(1) from t_1;

 count

-------

  3000

(1 row)

 

3、主节点挂掉后,是否影响standby节点使用

 

当主机挂掉时,备机是否可以读取数据,但不允许插入更改数据

 

[osdba@pg37 data]$ psql

psql (9.3.13)

Type "help" for help.

 

osdba=# select count(1) from t_1;

 count

-------

  3000

(1 row)

 

osdba=# insert into t_1 values(1,'1');

ERROR:  cannot execute INSERT in a read-only transaction

 

 

目录
相关文章
|
监控 Java Linux
Linux下JVM相关指令详解及案例介绍
Linux下JVM相关指令详解及案例介绍
423 1
|
域名解析 弹性计算 负载均衡
新手上云教程参考:阿里云服务器租用、域名注册、备案及域名解析流程图文教程
对于想要在阿里云上搭建网站或应用的用户来说,购买阿里云服务器和注册域名,绑定以及备案的流程至关重要。本文将以图文形式为您介绍阿里云服务器购买、域名注册、备案及绑定的全流程,以供参考,帮助用户轻松上手。
|
域名解析 缓存 网络协议
计算机网络——网络基础_网络命令的使用(配置主机IP、ipconfig、ping、tracert、arp实战)
任务要求 打开Windows 10的命令(控制台)窗口。 实验步骤 有多种方法打开Windows命令(控制台)窗口。其中一种较为快速的方法是: 在键盘上按下“Win+R"组合键,系统将打开“运行"窗口,如图1-1所示。键入cmd.按回车键或单击“确定”按钮,Windows将打开命令(控制台)窗口,显示俞令提示符,如图1-2所示。
3185 1
计算机网络——网络基础_网络命令的使用(配置主机IP、ipconfig、ping、tracert、arp实战)
|
人工智能 自然语言处理 前端开发
OpenAI 12天发布会全解析 | AI大咖说
OpenAI近日宣布将在12个工作日内每天进行一场直播,展示一系列新产品和样品。首日推出GPT-o1正式版,性能大幅提升;次日展示Reinforcement Fine-Tuning技术,提高模型决策质量;第三天推出Sora,实现高质量视频生成;第四天加强Canvas,提升多模态创作效率;第五天发布ChatGPT扩展功能,增强灵活性;第六天推出ChatGPT Vision,实现多模态互动;第七天推出ChatGPT Projects,优化项目管理。这些新技术正改变我们的生活和工作方式。
2323 9
|
SQL Java
SpringData JPA多表关联操作
SpringData JPA多表关联操作
428 0
|
SQL 存储 关系型数据库
计算效率提升 30 倍、存储资源节省 90%,雨润集团基于 Apache Doris 的统一实时数据仓库建设实践
数字化转型的浪潮中,高效准确的数据分析能够帮助雨润集团快速洞察市场动态、优化供应链管理、提高生产效率。雨润集团引入了 Apache Doris 构建了统一实时数据仓库,实现了计算效率提升 30 倍、存储资源节省 90%、成本降低超 100 万、人员效率提升 3 倍,为智能化、高效化转型指明了方向。
697 1
计算效率提升 30 倍、存储资源节省 90%,雨润集团基于 Apache Doris 的统一实时数据仓库建设实践
|
Go
golang语言之go常用命令
这篇文章列出了常用的Go语言命令,如`go run`、`go install`、`go build`、`go help`、`go get`、`go mod`、`go test`、`go tool`、`go vet`、`go fmt`、`go doc`、`go version`和`go env`,以及它们的基本用法和功能。
736 6
|
Ubuntu Linux
linux启动与关闭日志
Linux系统中的日志文件分布在多个位置,如`/var/log/syslog`或`/var/log/messages`(含系统事件)、`/var/log/boot.log`(启动详情,非所有发行版都有)、`/var/log/dmesg`(内核启动消息)、`/var/log/auth.log`(身份验证记录)和`/var/log/lastlog`(用户登录信息)。对于使用systemd的发行版,可利用`journalctl`命令进行日志查询。查看日志文件可借助文本编辑器或命令行工具如`tail`和`grep`。访问日志文件可能需要权限,可能需使用`sudo`或root用户。
1506 0
|
Python
图文并茂:Python Tkinter从入门到高级实战全解析
图文并茂:Python Tkinter从入门到高级实战全解析
1142 0
图文并茂:Python Tkinter从入门到高级实战全解析
数字信号处理实验二 IIR数字滤波器设计及软件实现
数字信号处理实验二 IIR数字滤波器设计及软件实现
数字信号处理实验二 IIR数字滤波器设计及软件实现

热门文章

最新文章