1. 导出数据库状态信息
背景原理
gs_dump通过查询收集当前连接数据库的状态信息,方便对数据库进行实时的维护,您也可以通过客户端gsql连接查询这些状态信息。
说明: gs_dump不支持将状态信息导出到文件,使用前请确保连接使用的用户具有相应的查询权限。
操作
gs_dump --dbstate mydb
显示类似如下的信息
Ha info:
LOCAL_ROLE : Normal
STATIC_CONNECTIONS : 0
DB_STATE : Normal
DETAIL_INFORMATION : Normal
... ...
状态信息字段说明
字段名称 | 字段说明 | 取值范围 |
Ha info | 表示如下字段说明本机状态信息。 | - |
Senders info | 表示如下字段说明本端作为事务日志发送端的信息。 | 如果本端是事务日志发送端,则会提示相关信息。 如果本端不是事务日志发送端,则下面显示为 No information。 |
Receiver info | 表示如下字段说明本端作为事务日志接收端的信息。 | 如果本端是事务日志接收端,则会提示相关信息。 如果本端不是事务日志接收端,则下面显示为 No information。 |
Tablespace info | 表示数据库表空间相关信息。 | 包含如下字段: SPCNAME:表示表空间名称。 取值范围:文本类型。 PG_TABLESPACE_SIZE:表示表空间实际空间大小。 取值范围:整型。 SPCMAXSIZE:表示表空间的最大空间大小。 取值范围:整型。 |
Lock info | 表示数据库锁相关信息。 | 包含如下字段: LOCKTYPE:表示锁定对象类型。 取值范围: relation表示锁定对象为整个表。 extend表示锁定对象为表的扩展权限。 page表示锁定对象是表的一个页。 tuple表示锁定对象是表的一个元组。 transactionid表示锁定对象是一个事务ID。 virtualxid表示锁定对象是一个事务虚拟ID。 object表示锁定对象是数据库普通对象。 userlock表示用户锁。 advisory表示建议性锁。 DATABASE:表示锁定对象所属的数据库OID。 取值范围:整型。 若锁定对象为共享对象,此值为0。 若锁定对象为事务ID,此值为空。 RELATION:表示锁作用的表OID。 取值范围:整型。只有LOCKTYPE为relation、extend、page和tuple时,此值才有效。 PAGE:表示锁作用的页面在表内的编号。 取值范围:整型。只有LOCKTYPE为page、tuple时,此值才有效。 TUPLE:表示锁作用的元组在页面内的行号。 取值范围:整型。只有LOCKTYPE为tuple时,此值才有效。 VIRTUALXID:表示锁定的事务虚拟ID。 取值范围:文本类型。只有LOCKTYPE为virtualxid时,此值才有效。 TRANSACTIONID:表示锁定的事务ID。 取值范围:整型。只有LOCKTYPE为transactionid时,此值才有效。 CLASSID:表示包含锁定对象的系统表OID。 取值范围:整型。只有锁定对象为数据库普通对象时,此值才有效。 OBJID:表示锁定对象在其所在系统表中的OID。 取值范围:整型。只有锁定对象为数据库普通对象时,此值才有效。 OBJSUBID:表示锁定表中的列号。 取值范围:整型。若锁定对象不是数据库普通对象,此值为空;若锁定对象是数据库普通对象但不是表,此值为0。 VIRTUALTRANSACTION:表示持有或等待该锁的事务虚拟 ID。 取值范围:文本类型。 PID:表示持有或等待该锁的服务进程 pid。 取值范围:整型。 MODE:表示锁的类型。 取值范围: AccessShareLock表示访问共享锁。 RowShareLock表示行共享锁。 RowExclusiveLock表示行排他锁。 ShareUpdateExclusiveLock表示共享更新排他锁。 ShareLock表示共享锁。 ShareRowExclusiveLock表示共享行排他锁。 ExclusiveLock表示排他锁。 AccessExclusiveLock表示访问排他锁。 GRANTED:表示锁是否已经被持有。 取值范围:布尔类型。 t表示已经被持有。 f表示尚未被持有。 FASTPATH:表示锁是否通过快速通道获得。 取值范围:布尔类型。 t表示是通过快速通道获得。 f表示通过锁表获得。 |
Parameters info | 表示数据库重要参数相关信息。 | 包含如下字段: QUERY_STATE:表示数据库是否可查询。 取值范围: OK:表示数据库可查询。 Error:表示数据库不可查询。 MAX_CONNECTIONS:表示允许和数据库连接的最大并发连接数。 取值范围:整型 ACTIVITY_CONNECTIONS:表示数据库当前活动连接数,活动连接包括gsql、gs_dump及walsender在内的远程连接。 取值范围:整型 SHARED_BUFFERS_DEFAULT、SHARED_BUFFERS_KEEP、SHARED_BUFFERS_RECYCLE:表示数据库使用的共享内存大小。 取值范围:整型(kB、MB、GB) WAL_BUFFERS:表示存放WAL数据的共享内存空间的大小。 取值范围:整型(kB、MB、GB) |
2. 导出syslog日志
背景原理
gs_dump支持使用数据库用户对服务器端运行日志进行导出,方便远程获取日志并加以分析
操作
gs_dump --syslog --logpath=current_log postgres
执行上述语句会把服务端的syslog日志文件,拷贝到当前目录的子目录current_log下。