Dear pgsql: When we adding a custom system table and defining an index for it at the same time, the code compilation is possible, but the following errors may occur when starting the database:
---------------------------------------------------------------------------------------------------------- fixing permissions on existing directory /usr/local/pgsql/data ... ok creating subdirectories ... ok selecting dynamic shared memory implementation ... posix selecting default max_connections ... 100 selecting default shared_buffers ... 128MB selecting default time zone ... Asia/Shanghai creating configuration files ... ok running bootstrap script ... 2023-07-19 09:40:47.083 CST [2808392] FATAL: operator class "key_ops" does not exist for access method "btree" 2023-07-19 09:40:47.083 CST [2808392] PANIC: cannot abort transaction 1, it was already committed Aborted (core dumped) child process exited with exit code 134 initdb: removing contents of data directory "/usr/local/pgsql/data" --------------------------------------------------------------------------------------------------------------- There are my steps as follows: 1. add a new header file (pg_bm_client_global_keys_args.h) for the custom system table, the file path is : * src/include/catalog/pg_bm_client_global_keys_args.h;* 2. the modified Makefile is: *src/backend/catalog/Makefile, *add the new header file at the label *CATALOG_HEADERS *of the file; 3. make; make install 4. when run the cmd :* /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data, *the error will occur*.* This problem has been bothering me for a long time. Can you help me solve it? Best Wishes.
pg_bm_client_global_keys_args.h
Description: Binary data