Re: domains and serial

From: Bruce Momjian <bruce(at)momjian(dot)us>
To: BillR <iambill(at)williamrosmus(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: domains and serial
Date: 2006-12-30 02:09:49
Message-ID: 200612300209.kBU29nU05745@momjian.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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 TABLE
test=> \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(at)momjian(dot)us
EnterpriseDB http://www.enterprisedb.com

+ If your life is a hard drive, Christ can be your backup. +

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message A. R. Van Hook 2006-12-30 17:43:01 or function
Previous Message Andrew Dunstan 2006-12-29 17:43:09 Re: Fwd: I would like to alter the COPY command