¤PostgreSQL version: 8.0
¤Operating system: Microsoft Windows 2003
¤Short description: pg_get_serial_sequence can not find a table that existing.
¤Details:
I created one table via sql command like this:
CREATE TABLE tTestTable {
FId bigint NOT NULL DEFAULT(-1),
CONSTRAINT tTestTable_pkey PRIMARY KEY (FId)
);
And then I created another table via pgAdminIII 1.2 that installed with PostgreSQL 8.0 rc1. sql like:
CREATE TABLE tTestTableAnother {
FId bigint NOT NULL DEFAULT nextval('public."tTestTableAnother_FId_seq"'::text),
CONSTRAINT tTestTableAnother_pkey PRIMARY KEY (FId)
);
I type the following sqls:
>>select pg_get_serial_sequence('tTestTable','FId')
result is null, as I expected.
>>select pg_get_serial_sequence('ttesttable','fid')
result is null, as I expected.
>>select pg_get_serial_sequence('tTestTableAnother','FId')
ERROR: relation "ttesttableanother" does not exist
>>select pg_get_serial_sequence('ttesttableanother','fid')
ERROR: relation "ttesttableanother" does not exist
Open the pg_class, found 'tTestTableAnother' existing.
Caution, not 'ttesttableanother'.
And more, no table like 'tTestTable' existing while 'ttesttable' appearance.
I guess PostgreSQL 8.0 does not offer a unique interface for creating a table. Or pgAdminIII 1.2.0 calling the old function to create a table? But no matter how, PostgreSQL should offer a unique way. over.
¤PostgreSQL 's reply list:
1. The report (reference: 1356) will be forwarded to the development team for further investigation.
¤Links:
PostgreSQL Official Site
PostgreSQL 中文站