Creating new system catalog problems.

Started by Akmal Akmalhojaevover 18 years ago2 messages
#1Akmal Akmalhojaev
akmal.ilh@gmail.com

Hello.

I wanted to create a new system catalog in Postgres. So I changed the source
code. Everything seems to be OK. I compiled it, but now after initdb I
receive:

$ initdb -D /usr/home/postgres/post1
The files belonging to this database system will be owned by user
"postgres".
This user must also own the server process.

The database cluster will be initialized with locale ru_RU.KOI8-R.
The default database encoding has accordingly been set to KOI8.

creating directory /usr/home/postgres/post1 ... ok
creating subdirectories ... ok
selecting default max_connections ... 40
selecting default shared_buffers/max_fsm_pages ... 28MB/179200
creating configuration files ... ok
creating template1 database in /usr/home/postgres/post1/base/1 ... FATAL:
could
not open relation with OID 2617
child process exited with exit code 1
initdb: removing data directory "/usr/home/postgres/post1"

I can't understand the reason. Can somebody help me.

Akmal.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Akmal Akmalhojaev (#1)
Re: Creating new system catalog problems.

"Akmal Akmalhojaev" <akmal.ilh@gmail.com> writes:

I wanted to create a new system catalog in Postgres. So I changed the source
code. Everything seems to be OK. I compiled it, but now after initdb I
receive:
creating template1 database in /usr/home/postgres/post1/base/1 ... FATAL:
could
not open relation with OID 2617

I can't understand the reason. Can somebody help me.

Not when you didn't show us what you changed ...

2617 is pg_operator, so a possible theory is that you did something that
tries to access pg_operator before it's been created. But just adding a
new table declaration in include/catalog shouldn't have that effect.
I suspect you added some code you haven't mentioned.

regards, tom lane