FATAL: operator class "xxxx" does not exist for access method "btree"

From: mao zhang <mzhang2048(at)gmail(dot)com>
To: pgsql-hackers(at)lists(dot)postgresql(dot)org
Subject: FATAL: operator class "xxxx" does not exist for access method "btree"
Date: 2023-07-19 02:39:44
Message-ID: CAHK7YHi5e=ngnX1DCWmv76cYNzN=UmrPqV29a=8D2oJXRi+MTg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

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.

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2023-07-19 02:49:49 Re: ALTER TABLE SET ACCESS METHOD on partitioned tables
Previous Message Michael Paquier 2023-07-19 02:34:19 Re: pg_recvlogical prints bogus error when interrupted