PostgreSQL 8.0 rc1 的一个BUG,已经提交给Developement team

Posted on 2004-12-23 10:44  Aaron@cnblogs  阅读(1134)  评论(0编辑  收藏  举报

¤PostgreSQL version8.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 中文站