• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    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
    写了这么一些,对内部是怎么回事感觉自己还是没有理清楚。呵呵!!
    您可能感兴趣的文章:
    • 解析PostgreSQL中Oid和Relfilenode的映射问题
    上一篇:PostgreSQL 创建表分区
    下一篇:PostgreSQL 角色与用户管理介绍
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    PostgreSQL中的OID和XID 说明 PostgreSQL,中的,OID,和,XID,