Re: [HACKERS] Open 6.4 items
От | Bruce Momjian |
---|---|
Тема | Re: [HACKERS] Open 6.4 items |
Дата | |
Msg-id | 199808302111.RAA16751@candle.pha.pa.us обсуждение исходный текст |
Ответ на | Re: [HACKERS] Open 6.4 items ("Thomas G. Lockhart" <lockhart@alumni.caltech.edu>) |
Список | pgsql-hackers |
> Works fine _if_ the user has database creation privileges: Can I ask why sequence creation is related to database CREATION. Seems very strange to me. > > 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 > -- Bruce Momjian | 830 Blythe Avenue maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026 + If your life is a hard drive, | (610) 353-9879(w) + Christ can be your backup. | (610) 853-3000(h)
В списке pgsql-hackers по дате отправления: