您现在的位置是:课程教程文章
postgresql oid 怎么重置
2023-12-18 20:48课程教程文章 人已围观
-
Android Studio DEBUG远程STF设备
Android Studio DEBUG远程STF设备讲述通过adb connect远程连接STF设备, 并使用Android Studio断点debug调试。... -
Android基础二
Android基础二老师介绍 善知堂java/Android主讲老师,讲课生动,善于启发,知识底蕴深厚.有多年授... -
【免费】FFmpeg/WebRTC/RTMP/NDK/Android音视频流
【免费】FFmpeg/WebRTC/RTMP/NDK/Android音视频流近期陆续上传SRS 4.0入门系列免费教程,主要是理清楚SRS服务器的逻辑。大家可... -
2小时玩转Android Studio
2小时玩转Android Studio【出品】传智播客教育集团 【适用人群】有一定Java基础 【班级类型】就业班...
在PostgreSQL中经常碰到OID和XID。oid:行的对象标识符(对象 ID)。这个字段只有在创建表的时候使用了 WITH OIDS ,或者是设置了default_with_oids配置参数时出现。这个字段的类型是 oid (和字段同名)。
例子:
代码如下:
CREATE TABLE pg_language ( lanname name NOT NULL, lanowner oid NOT NULL, lanispl boolean NOT NULL, lanpltrusted boolean NOT NULL, lanplcallfoid oid NOT NULL, lanvalidator oid NOT NULL, lanacl aclitem[] ) WITH ( OIDS=TRUE );
OID 是 32 位的量,是在同一个集群内通用的计数器上赋值的。 对于一个大型或者长时间使用的数据库,这个计数器是有可能重叠的。 因此,假设 OID 是唯一的是非常错误的,除非你自己采取了措施来保证它们是唯一的。
XID:事务ID,也是 32 位的量。在长时间运转的数据库里,它也可能会重叠。重叠后数据库就有可能出错,所以需要采取措施解决。 只要我们采取一些合适的维护步骤,这并不是很要命的问题。比如我们定义做vaccum。或者手动重置。
重置用下面的命令:
$ pg_resetxlog --help
pg_resetxlog命令是重置PostgreSQL事务log的。
使用方法:
pg_resetxlog [OPTION]... DATADIR
选项参数:
-e XIDEPOCH 设置下一个事务ID EPOCH
-f 实施强制更新
-l TLI,FILE,SEG 强制设置新事务log的最小WAL开始位置
-m XID 设置下一个MULTI事务ID
-n 不做更新,只是取出现在的控制值,实验用的命令
-o OID 设置下一个OID,重置OID
-O OFFSET 设置下一个MULTI事务ID的OFFSET
-x XID 设置下一个事务ID,重置XID
Python学习网,大量的免费PostgreSQL入门教程,欢迎在线学习!
课程教程:postgresql oid 怎么重置下一篇:没有了