pg_resetxlog
功能介绍
pg_resetxlog是一个重新设置数据库事务文件的工具。
注意: 通过pg_resetxlog重新设置之前,需要先停止数据库。
前提条件
保证数据库目录存在且路径正确。
语法(非DSS模式)
1. pg_resetxlog [OPTION]... DATADIR
参数说明
OPTION取值如下所示:
- DATADIR
需要修改的数据库目录,确保路径正确。 - -e XIDEPOCH
设置下一个事务id。 - -f
强制更新。 - -l xlogfile
为新的事务日志指定最小的WAL起始位置。 - -m XID
设置下一个multitransaction ID。 - -n
不更新,仅显示配置文件的值。 - -o OID
设置下一个OID。 - -O OFFSET
设置下一个multitransaction的偏移量。 - –enable-dss
共享存储参数,开启共享存储功能。 - –socketpath=SOCKETPATH
共享存储参数,dss实例进程使用的socket文件路径,仅支持绝对路径。 - –vgname=VGDATA
共享存储参数,共享存储的数据目录。 - -V, –version
显示版本信息。 - -x XID
设置下一个事务ID。 - -?, –help
打印帮助信息。
使用举例(非DSS模式)
1. pg_resetxlog [OPTION]... DATADIR
说明:
在非DSS模式,OPTION的取值不能是共享存储参数。
使用举例(DSS模式)
1. pg_resetxlog [OPTION]... DATADIR --enable-dss --vgname=VGDATA --socketpath=SOCKETPATH
DSS模式使用说明:
在DSS模式,用户需要指定数据库文件系统的数据目录DATADIR,用于判断数据库是否关闭,同时也需要指定共享存储的数据目录,用于操作共享存储中的文件。由于备机dss不能写,用户只能在主机执行该工具,并且数据库必须是正常关闭的状态。用户在执行该工具之后,工具会自动识别主机并对主机的日志进行重置。
注意: 通过pg_resetxlog重新设置之前,需要先停止数据库。