Re: domains and serial

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: domains and serial
Дата
Msg-id 200612300209.kBU29nU05745@momjian.us
обсуждение исходный текст
Ответ на domains and serial  (BillR <iambill@williamrosmus.com>)
Список pgsql-sql
BillR wrote:
> Is it not possible to set up a domain using this construct?  I will have 
> a lot of tables using integer and big integer types as primary key 
> identifier fields.  It would make things simpler if I can use the serial 
> construct in a domain instead of using an int or bigint in the domain, 
> and then change each field in each table requiring a serial or bigserial 
> construct.
> 
> I just tried to create a domain using a bigserial type. 
> 
> CREATE DOMAIN Identifier_DM AS bigserial;
> 
> I received the error message:
> 
> ERROR: type "bigserial" does not exist
> SQL state: 42704
> 
> I tried to run this in both pgadminIII and in data architect 3.5.

Yea, that isn't going to work because if you did that, all columns
created with that domain name would have the same default sequence. 
See:test=> CREATE TABLE test(x bigserial);NOTICE:  CREATE TABLE will create implicit sequence "test_x_seq" for serial
column"test.x"CREATE TABLEtest=> \d test                        Table "public.test" Column |  Type  |
Modifiers--------+--------+-------------------------------------------------- x      | bigint | not null default
nextval('test_x_seq'::regclass)

I don't see how we would ever get that working for domains.  The best we
could do would be to have each new domain reference create a new
sequence and default string, but then you just have the bigserial
behavior in a domain, which doesn't seem worth it.

--  Bruce Momjian   bruce@momjian.us EnterpriseDB    http://www.enterprisedb.com
 + If your life is a hard drive, Christ can be your backup. +


В списке pgsql-sql по дате отправления:

Предыдущее
От: Chris Dunworth
Дата:
Сообщение: Re: help with version checking
Следующее
От: "A. R. Van Hook"
Дата:
Сообщение: or function