PostgreSQL中的OID和XID 说明

所属分类: 数据库 / PostgreSQL 阅读数: 98
收藏 0 赞 0 分享
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
写了这么一些,对内部是怎么回事感觉自己还是没有理清楚。呵呵!!
更多精彩内容其他人还在看

PostgreSQL中的XML操作函数代码

PostgreSQL中的XML操作函数代码
收藏 0 赞 0 分享

PostgreSQL 数据库性能提升的几个方面

PostgreSQL提供了一些帮助提升性能的功能。主要有一些几个方面。
收藏 0 赞 0 分享

PostgreSQL 创建表分区

在pg里表分区是通过表继承来实现的,一般都是建立一个主表,里面是空,然后每个分区都去继承它。
收藏 0 赞 0 分享

PostgreSQL中的OID和XID 说明

在PostgreSQL中经常碰到OID和XID,刚才不明白这些东西是干什么的。
收藏 0 赞 0 分享

PostgreSQL 角色与用户管理介绍

这篇文章主要介绍PostgreSQL 角色与用户管理相关知识,需要的朋友可以参考下
收藏 0 赞 0 分享

修改一行代码提升 Postgres 性能 100 倍

在一个(差)的PostgreSQL 查询中只要一个小小到改动(ANY(ARRAY[...])to ANY(VALUES(...)))就能把查询时间从20s缩减到0.2s
收藏 0 赞 0 分享

Windows下PostgreSQL安装图解

这篇文章主要为大家介绍了如果在Windows下安装PostgreSQL数据库的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

PostgreSQL管理工具phpPgAdmin入门指南

phpPgAdmin是用PHP开发的一个基于web的PostgreSQL数据库管理工具。和MySql时代的PHPMyAdmin类似。本文介绍了phpPgAdmin安装和使用方法,需要的朋友可以参考下
收藏 0 赞 0 分享

phpPgAdmin 常见错误和问题的解决办法

这篇文章主要介绍了phpPgAdmin 常见错误和问题的解决办法,如安装错误、登陆错误、转储功能、其它错误和问题等,需要的朋友可以参考下
收藏 0 赞 0 分享

phpPgAdmin 配置文件参数说明中文版

这篇文章主要介绍了phpPgAdmin配置文件config.inc.php-dist中注释的详细说明,并翻译成中文,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多