pg_publication 是一个 系统目录表,用于存储数据库中所有已创建的 发布。
pg_publication 在 PostgreSQL 10 中被添加。
通过 pg_publication_rel 表将单个表与订阅关联起来。
psql 命令
\dRp[+]- 列出可用的 发布
按 PostgreSQL 版本定义
pg_publication (PostgreSQL 19)
Table "pg_catalog.pg_publication"
Column | Type | Collation | Nullable | Default
--------------+---------+-----------+----------+---------
oid | oid | | not null |
pubname | name | | not null |
pubowner | oid | | not null |
puballtables | boolean | | not null |
pubinsert | boolean | | not null |
pubupdate | boolean | | not null |
pubdelete | boolean | | not null |
pubtruncate | boolean | | not null |
pubviaroot | boolean | | not null |
pubgencols | "char" | | not null |
Indexes:
"pg_publication_oid_index" PRIMARY KEY, btree (oid)
"pg_publication_pubname_index" UNIQUE CONSTRAINT, btree (pubname)
文档: pg_publication
pg_publication (PostgreSQL 18)
Table "pg_catalog.pg_publication"
Column | Type | Collation | Nullable | Default
--------------+---------+-----------+----------+---------
oid | oid | | not null |
pubname | name | | not null |
pubowner | oid | | not null |
puballtables | boolean | | not null |
pubinsert | boolean | | not null |
pubupdate | boolean | | not null |
pubdelete | boolean | | not null |
pubtruncate | boolean | | not null |
pubviaroot | boolean | | not null |
pubgencols | "char" | | not null |
Indexes:
"pg_publication_oid_index" PRIMARY KEY, btree (oid)
"pg_publication_pubname_index" UNIQUE CONSTRAINT, btree (pubname)
文档: pg_publication
pg_publication (PostgreSQL 17)
Table "pg_catalog.pg_publication"
Column | Type | Collation | Nullable | Default
--------------+---------+-----------+----------+---------
oid | oid | | not null |
pubname | name | | not null |
pubowner | oid | | not null |
puballtables | boolean | | not null |
pubinsert | boolean | | not null |
pubupdate | boolean | | not null |
pubdelete | boolean | | not null |
pubtruncate | boolean | | not null |
pubviaroot | boolean | | not null |
Indexes:
"pg_publication_oid_index" PRIMARY KEY, btree (oid)
"pg_publication_pubname_index" UNIQUE CONSTRAINT, btree (pubname)
文档: pg_publication
pg_publication (PostgreSQL 16)
Table "pg_catalog.pg_publication"
Column | Type | Collation | Nullable | Default
--------------+---------+-----------+----------+---------
oid | oid | | not null |
pubname | name | | not null |
pubowner | oid | | not null |
puballtables | boolean | | not null |
pubinsert | boolean | | not null |
pubupdate | boolean | | not null |
pubdelete | boolean | | not null |
pubtruncate | boolean | | not null |
pubviaroot | boolean | | not null |
Indexes:
"pg_publication_oid_index" PRIMARY KEY, btree (oid)
"pg_publication_pubname_index" UNIQUE CONSTRAINT, btree (pubname)
文档: pg_publication
pg_publication (PostgreSQL 15)
Table "pg_catalog.pg_publication"
Column | Type | Collation | Nullable | Default
--------------+---------+-----------+----------+---------
oid | oid | | not null |
pubname | name | | not null |
pubowner | oid | | not null |
puballtables | boolean | | not null |
pubinsert | boolean | | not null |
pubupdate | boolean | | not null |
pubdelete | boolean | | not null |
pubtruncate | boolean | | not null |
pubviaroot | boolean | | not null |
Indexes:
"pg_publication_oid_index" PRIMARY KEY, btree (oid)
"pg_publication_pubname_index" UNIQUE CONSTRAINT, btree (pubname)
文档: pg_publication
pg_publication (PostgreSQL 14)
Table "pg_catalog.pg_publication"
Column | Type | Collation | Nullable | Default
--------------+---------+-----------+----------+---------
oid | oid | | not null |
pubname | name | | not null |
pubowner | oid | | not null |
puballtables | boolean | | not null |
pubinsert | boolean | | not null |
pubupdate | boolean | | not null |
pubdelete | boolean | | not null |
pubtruncate | boolean | | not null |
pubviaroot | boolean | | not null |
Indexes:
"pg_publication_oid_index" PRIMARY KEY, btree (oid)
"pg_publication_pubname_index" UNIQUE CONSTRAINT, btree (pubname)
文档: pg_publication
pg_publication (PostgreSQL 13)
Table "pg_catalog.pg_publication"
Column | Type | Collation | Nullable | Default
--------------+---------+-----------+----------+---------
oid | oid | | not null |
pubname | name | | not null |
pubowner | oid | | not null |
puballtables | boolean | | not null |
pubinsert | boolean | | not null |
pubupdate | boolean | | not null |
pubdelete | boolean | | not null |
pubtruncate | boolean | | not null |
pubviaroot | boolean | | not null |
Indexes:
"pg_publication_oid_index" UNIQUE, btree (oid)
"pg_publication_pubname_index" UNIQUE, btree (pubname)
文档: pg_publication
pg_publication (PostgreSQL 12)
Table "pg_catalog.pg_publication"
Column | Type | Collation | Nullable | Default
--------------+---------+-----------+----------+---------
oid | oid | | not null |
pubname | name | | not null |
pubowner | oid | | not null |
puballtables | boolean | | not null |
pubinsert | boolean | | not null |
pubupdate | boolean | | not null |
pubdelete | boolean | | not null |
pubtruncate | boolean | | not null |
Indexes:
"pg_publication_oid_index" UNIQUE, btree (oid)
"pg_publication_pubname_index" UNIQUE, btree (pubname)
文档: pg_publication
pg_publication (PostgreSQL 11)
Table "pg_catalog.pg_publication"
Column | Type | Collation | Nullable | Default
--------------+---------+-----------+----------+---------
pubname | name | | not null |
pubowner | oid | | not null |
puballtables | boolean | | not null |
pubinsert | boolean | | not null |
pubupdate | boolean | | not null |
pubdelete | boolean | | not null |
pubtruncate | boolean | | not null |
Indexes:
"pg_publication_oid_index" UNIQUE, btree (oid)
"pg_publication_pubname_index" UNIQUE, btree (pubname)
文档: pg_publication
pg_publication (PostgreSQL 10)
Table "pg_catalog.pg_publication"
Column | Type | Collation | Nullable | Default
--------------+---------+-----------+----------+---------
pubname | name | | not null |
pubowner | oid | | not null |
puballtables | boolean | | not null |
pubinsert | boolean | | not null |
pubupdate | boolean | | not null |
pubdelete | boolean | | not null |
Indexes:
"pg_publication_oid_index" UNIQUE, btree (oid)
"pg_publication_pubname_index" UNIQUE, btree (pubname)
文档: pg_publication
变更历史
- PostgreSQL 19
- 添加了列
puballsequences(提交 96b37849)
- 添加了列
- PostgreSQL 18
- 添加了列
pubgencols(提交 7054186c)
- 添加了列
- PostgreSQL 13
- 添加了列
pubviaroot(提交 83fd4532)
- 添加了列
- PostgreSQL 11
- 添加了列
pubtruncate(提交 039eb6e9)
- 添加了列
- PostgreSQL 10
- 添加于 (提交 665d1fad)
示例
postgres=# CREATE PUBLICATION test_publication FOR TABLE foo; CREATE PUBLICATION postgres=# SELECT * FROM pg_publication\gx -[ RECORD 1 ]+----------------- oid | 91147 pubname | test_publication pubowner | 10 puballtables | f pubinsert | t pubupdate | t pubdelete | t pubtruncate | t pubviaroot | f postgres=# \dRp List of publications Name | Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root ------------------+----------+------------+---------+---------+---------+-----------+---------- test_publication | postgres | f | t | t | t | t | f (1 row) postgres=# \dRp+ Publication test_publication Owner | All tables | Inserts | Updates | Deletes | Truncates | Via root ----------+------------+---------+---------+---------+-----------+---------- postgres | f | t | t | t | t | f Tables: "public.foo"
参考资料
- PostgreSQL 文档: pg_publication
