Re: [HACKERS] Open 6.4 items
От | Thomas G. Lockhart |
---|---|
Тема | Re: [HACKERS] Open 6.4 items |
Дата | |
Msg-id | 35E99CB4.A8375D91@alumni.caltech.edu обсуждение исходный текст |
Ответ на | Re: [HACKERS] Open 6.4 items (Peter T Mount <peter@retep.org.uk>) |
Ответы |
Re: [HACKERS] Open 6.4 items
|
Список | pgsql-hackers |
Works fine _if_ the user has database creation privileges: tgl=> create table test (x text, s serial); NOTICE: CREATE TABLE will create implicit sequence test_s_seq for SERIAL column test.s NOTICE: CREATE TABLE/UNIQUE will create implicit index test_s_key for table test CREATE This statement internally expands to roughly the following: create table test (x text, s int4 default nextval('test_s_seq')); create unique index test_s_key on test (s); create sequence test_s_seq; If the user has no database creation privileges, then apparently there is some checking which insists that the sequence referenced in the implicit default clause actually exists: tgl=> create table test (x text, i int default nextval('test_s_seq')); ERROR: pg_aclcheck: class "test_s_seq" not found So, it looks like the sequence should internally be created before the table, though in some cases it doesn't matter. I was concerned that this might be the case, and the parser is not at the moment configured to allow this. Should be able to fix it up, or have just limited SERIAL support for the v6.4 release :( - Tom
В списке pgsql-hackers по дате отправления: