PostgreSQL Replication之第三章 理解即时恢复(2)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了PostgreSQL Replication之第三章 理解即时恢复(2),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2020字,纯文字阅读大概需要3分钟。
内容图文
![PostgreSQL Replication之第三章 理解即时恢复(2)](/upload/InfoBanner/zyjiaocheng/1099/e01f9d57789247d2b4891cacd27c84e2.jpg)
3.2 归档事务日志
看过图片之后,我们可以看看如何使这些东西进入工作状态。当谈到及时归档时,您需要做的第一件事是归档XLOG。PostgreSQL通过postgresql.conf提供了所有与归档相关的选项。让我们一步一步地看,要启动归档需要在postgresql.conf中做什么:
1. 首先,您应该把archive_mode设置为 on。
2. 第二步,您应该配置您的归档命令。归档命令是一个简单的带有两个参数的shell命令:
1. %p: 这是一个表示应该被归档的的XLOG的占位符,包括它的全路径(源)。
2. %f: 这个变量保存了没有路径指向的XLOG的名字。
现在让我们来设置归档。要做到这一点,我们应该创建一个存放XLOG的位置。理想情况下,您要归档的XLOG不与数据库实例存储在同一硬件上。为了这个例子,我们假设我们要应用一个archive 到/archive。需要在postgresql.conf中做如下改变:
wal_level = archive
# minimal, archive, or hot_standby
# (change requires restart)
archive_mode = on
# allows archiving to be done
# (change requires restart)
archive_command = ‘cp %p /archive/%f‘
# command to use to archive a logfile segment
# placeholders: %p = path of file to archive
# %f = file name only
一旦做了这些更改之后,就准备好了归档,您只需要重新启动数据库来激活归档。
在我们重新启动数据库实例之前,我们要您把注意力放在wal_level上。目前有三个不同的wal_level设置可供选择:
? minimal
? archive
? hot_standby
迄今为止,在单个节点的情况下,所产生的事务日志的量不足以同步整个第二个实例。在PostgreSQL中有一些优化,在单节点模式情况下,这让XLOG写被跳过。下面的指令可以从wal_level被设置为minimal中受益:CREATE TABLE AS, CREATE INDEX, CLUSTER, 和 COPY(如果在同一个事务中,表被创建或者被清空)。
要重放事务日志,archive是必要的。archive与hot_standby的不同之处是,archive 不需要知道当前运行的事务。对流复制而言,这个信息是至关重要的。
[重新启动可以通过直接使用 pg_ctl –D /data_directory –m fast restart 或者通过一个标准的init 脚本。]
检查我们的归档工作最简单方法是在数据库中创建一些无用的数据。下面的代码片段显示了可以很容易地产生一百万行数据的方法:
test=# CREATE TABLE t_test AS SELECT * FROM generate_series(1,
1000000);
SELECT 1000000
test=# SELECT * FROM t_test LIMIT 3;
generate_series
-----------------
1
2
3
(3 rows)
我们只是创建了一系列数字。重要的是,一百万行数据将出发相当数量的XLOG的交通。您将看到大量的文件使它成了归档:
iMac:archivehs$ ls -l
total 131072
-rw------- 1 hs wheel 16777216 Mar 5 22:31
000000010000000000000001
-rw------- 1 hs wheel 16777216 Mar 5 22:31
000000010000000000000002
-rw------- 1 hs wheel 16777216 Mar 5 22:31
000000010000000000000003
-rw------- 1 hs wheel 16777216 Mar 5 22:31
000000010000000000000004
这些文件可以很容易地用于未来的重放操作。
[如果您要节省存储,您也可以假设这些 XLOG 文件。只需要把gzip添加到您的archive_commmand。 ]
原文地址:http://www.cnblogs.com/songyuejie/p/4743370.html
原文:http://www.cnblogs.com/songyuejie/p/4743370.html
内容总结
以上是互联网集市为您收集整理的PostgreSQL Replication之第三章 理解即时恢复(2)全部内容,希望文章能够帮你解决PostgreSQL Replication之第三章 理解即时恢复(2)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。