PostgreSQL数据库内核:增加系统表pg_test_catalog
在PostgreSQL中,pg_test_catalog
是一个用于测试目的的特殊系统表。以下是如何在PostgreSQL内核中增加对pg_test_catalog
的支持的简化步骤:
- 在
src/include/catalog/catversion.h
中更新PG_CATALOG_VERSION
宏,增加版本号。 - 在
src/include/catalog/schemapg.h
中添加pg_test_catalog
的OID定义。 - 在
src/backend/catalog/pg_tables.h
中添加pg_test_catalog
的声明。 - 创建
pg_test_catalog
目录在src/backend/catalog
下。 - 实现
pg_test_catalog
中的系统表文件,如pg_test_table.c
。 - 在
src/backend/catalog/Makefile
中添加编译pg_test_catalog
的规则。 - 在
src/backend/catalog/catcache.c
中的GetSysCacheOid
函数中添加对PG_TEST_CATALOGNAME
的支持。 - 在
src/backend/utils/adt/misc.c
中的get_object_address
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/utils/misc/superuser.c
中的is_member_of_role
函数中添加对pg_test_catalog
的支持。 - 在
src/include/utils/guc.h
中添加pg_test_catalog
相关的GUC变量。 - 在
src/backend/utils/misc/guc.c
中添加对新GUC变量的支持。 - 在
src/backend/utils/cache/relcache.c
中的get_rel_oid
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/access/heap/heapam.c
中的get_object_address
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/catalog/dependency.c
中的deleteOneObject
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/catalog/indexing.c
中的index_update
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/access/table/tableam.c
中的relation_set_new_relfilenode
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/storage/file/fd.c
中的FileExists
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/utils/adt/misc.c
中的get_object_address
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/access/table/tableam.c
中的relation_needs_new_xact
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/access/table/tableam.c
中的relation_non_partitioned_children
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/access/table/tableam.c
中的relation_open
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/access/table/tableam.c
中的relation_close
函数中添加对pg_test_catalog
的支持。 - 在
src/backend/access/table/tableam.c
中的relation_sync_local_to_remote
评论已关闭