PostgreSQL/bin
pg_receivexlog
pg_receivexlog—以流的方式从一个PostgreSQL集簇得到事务日志
pg_receivexlog被用来从一个运行着的PostgreSQL集簇以流的方式得到事务日志。事务日志会被使用流复制协议以流的方式传送,并且被写入到文件的一个本地目录。这个目录可以被用作归档位置来做一次使用时间点恢复的恢复。
当事务日志在服务器上被产生时,pg_receivexlog实时以流的方式传输事务日志,并且不像archive_command那样等待段完成。由于这个原因,在使用pg_receivexlog时不必设置archive_timeout。
事务日志在一个常规PostgreSQL连接上被以流式传送,并且使用复制协议。连接必须由一个超级用户或一个具有REPLICATION权限(见Section 20.2)的用户建立,并且pg_hba.conf必须显式允许复制连接。服务器也必须被配置一个足够高的max_wal_senders来至少留出一个可用会话给流。
如果该连接丢失,或者它一开始就由于一个非致命错误而没有被建立,pg_receivexlog将无限期地重试连接并且尽可能重新建立流。为了避免这种行为,使用-n参数。
选项
下列命令行选项控制输出的位置和格式。
-D directory
--directory=directory
要把输出写到哪个目录。
这个参数是必需的。
下列命令行选项控制程序的运行。
-n
--no-loop
不要在连接错误上循环。相反,碰到一个错误时立刻退出。
-v
--verbose
启用冗长模式。
下列命令行选项控制数据库连接参数。
-d connstr
--dbname=connstr
指定用于连接到服务器的参数为一个连接字符串。详见Section 31.1.1。
为了和其他客户端应用一致,该选项被称为--dbname。但是因为pg_receivexlog并不连
接到集簇中的任何特定数据库,连接字符串中的数据库名将被忽略。
-h host
--host=host
指定运行服务器的机器的主机名。如果该值以一个斜线开始,它被用作Unix 域套接字
的目录。默认值取自PGHOST环境变量(如果设置),否则会尝试一个Unix 域套接字连
接。
-p port
--port=port
指定服务器正在监听连接的TCP 端口或本地Unix 域套接字文件扩展。默认用PGPORT环
境变量中的值(如果设置),或者一个编译在程序中的默认值。
-s interval
--status-interval=interval
指定发送回服务器的状态包之间的秒数。这允许我们更容易地监控服务器的进度。一个
零值完全禁用这种周期性的状态更新,不过当服务器需要时还是会有一个更新会被发送
来避免超时导致的断开连接。默认值是10秒。
-U username
--username=username
要作为哪个用户连接。
-w
--no-password
从不发出一个口令提示。如果服务器要求口令认证并且没有其他方式提供口令(例如一
个.pgpass文件),那儿连接尝试将失败。这个选项对于批处理任务和脚本有用,因为
在其中没有一个用户来输入口令。
-W
--password
强制pg_receivexlog在连接到一个数据库之前提示要求一个口令。
这个选项不是必不可少的,因为如果服务器要求口令认证,pg_receivexlog将自动提示要
求一个口令。但是,pg_receivexlog将浪费一次连接尝试来发现服务器想要一个口令。在
某些情况下值得用-W来避免额外的连接尝试。
其他选项也可用:
-V
--version
打印pg_receivexlog版本并退出。
-?
--help
显示有关pg_receivexlog命令行参数的帮助并退出。
例子
要从位于mydbserver的服务器流式传送事务日志并且将它存储在本地目
录/usr/local/pgsql/archive:
$ pg_receivexlog -h mydbserver -D /usr/local/pgsql/archive
PostgreSQL/bin的更多相关文章
- PostgreSQL入门
这篇文章主要介绍我在最近工作中接触到的数据库PostgreSQL,做个入门记录,以便自己日后回顾. 1.下载安装,安装配置过程可以参考http://blog.chinaunix.net/uid-354 ...
- postgresql流复制配置
一.配置环境: 示例环境 主机名 IP 角色 系统版本 数据目录 pg版本 db1 192.168.128.128 主库 RedHat5.3 /app/postgreSQL/data 9.1.7 db ...
- How to debug PostgreSQL function with pgAdminIII
How to debug plpgsql with pgAdminIII [root@localhost soft_bak]# git clone git://git.postgresql.org/g ...
- Avoiding PostgreSQL database corruption
TL;DR: Don't ever set fsync=off, don't kill -9 the postmaster then deletepostmaster.pid, don't run P ...
- Linux环境PostgreSQL源码编译安装
Linux环境PostgreSQL源码编译安装 Linux版本: Red Hat 6.4 PostgreSQL版本: postgresql-9.3.2.tar.gz 数据存放目录: /var/post ...
- PostgreSQL安装详细步骤(windows)
原文地址:http://blog.chinaunix.net/uid-354915-id-3498734.html PostgreSQL安装:一.windows下安装过程安装介质:postgresql ...
- PostgreSQL安装详细步骤windows
PostgreSQL安装:一.windows下安装过程安装介质:postgresql-9.1.3-1-windows.exe(46M),安装过程非常简单,过程如下:1.开始安装: 2.选择程序安装目录 ...
- linux安装postgresql
第一步在编译安装postgresql源码的时候,需要用到以下依赖,若本机没有的话,需要提前安装依赖环境,执行以下命令:yum install gcc gcc-c++yum install zlib-d ...
- 访问GitLab的PostgreSQL数据库,查询、修改、替换等操作
1.登陆gitlab的安装服务查看配置文件 cat /var/opt/gitlab/gitlab-rails/etc/database.yml production: adapter: postgre ...
随机推荐
- PHP学习(四)---PHP与数据库MySql
主要有以下的内容: 1.怎么连接数据库 2.怎么操作数据库 (1)怎么执行sql语言 (2)怎么处理返回的结果集 方法一:面向过程(已经过时,只是了解) 假设: $username=your_name ...
- coursera-miniproject stopwatch任务总结
---恢复内容开始--- 首先是miniproject的说明: combin text drawing in canvas with time to build digital stopwatch. ...
- java,for循环中的穷举、迭代、冒泡例题
1.100以内与7相关的数 //100以内与7相关的数: public static void main1(String[] args) { for(int i=1;i<=100;i++){ i ...
- Lazarus中system.length说明
在system单元中我们有Length专门用来获取字符串宽度和数组宽度,下面例子来介绍他的功能. 定义: function Length( S: AStringType ):Integer; fu ...
- HTML5 本地存储 LocalStorage
说到本地存储,这玩意真是历尽千辛万苦才走到HTML5这一步,之前的历史大概如下图所示: 最早的Cookies自然是大家都知道,问题主要就是太小,大概也就4KB的样子,而且IE6只支持每个域名20个co ...
- this绑定
js中关于this的用法,在初期时候经常会弄混,即使现在,也不敢说就一定不会混,但是起码好很多了. 函数执行过程中,主要有4种方法决定this的绑定对象. 分别为:默认绑定.隐式绑定. 显示绑定和ne ...
- spring3 mvc:方法返回值的学习
新建后台代码用以测试返回类型,在这里我新建的如下: /** * 项目名称:Spring3mvc demo * Copyright ? 2010-2012 spartacus.org.cn All Ri ...
- java.lang.NoClassDefFoundError: Could not initialize class ......
在测试数据字典工具类的时候一直报这个错误,找了好久,原来是SpringContextUtils这个类没有放入到容器中. 但是我在SpringContextUtils上面加了注解的,为什么注解没有扫到呢 ...
- C#中override和overload的区别
重载应该叫overload,重写叫override:重载某个方法是在同一个类中发生的!重写是在子类中重写父类中的方法. 1.override: 父类:public virtual string T ...
- iOS 开发进程与线程
进程(process)是一块包含了某些资源的内存区域.操作系统利用进程把它的工作划分为一些功能单元.进程中所包含的一个或多个执行单元称为线程(thread).进程还拥有一个私有的虚拟地址空间,该空间仅 ...