Lists: | pgsql-de-allgemein |
---|
From: | Thomas Guettler <hv(at)tbz-pariv(dot)de> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Spalte mit not null und deferrable hinzufügen |
Date: | 2008-06-17 09:36:26 |
Message-ID: | 4857859A.7080808@tbz-pariv.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
Hallo,
ich möchte eine Spalte mit einem initially deferred not null constraint
hinzufügen.
db=# alter table mytable add column "time" timestamp with time zone not
null deferrable initially deferred;
FEHLER: falsch platzierte DEFERRABLE-Klausel
Laut Doku müsste der Befehl eigentlich funktionieren:
alter table Doku
ADD [ COLUMN ] /column/ /type/ [ /column_constraint/ [ ... ] ]
create table Doku:
where /column_constraint/ is:
[ CONSTRAINT /constraint_name/ ]
{ NOT NULL |
NULL |
UNIQUE /index_parameters/ |
PRIMARY KEY /index_parameters/ |
CHECK ( /expression/ ) |
REFERENCES /reftable/ [ ( /refcolumn/ ) ] [ MATCH FULL | MATCH PARTIAL | MATCH SIMPLE ]
[ ON DELETE /action/ ] [ ON UPDATE /action/ ] }
[ DEFERRABLE | NOT DEFERRABLE ] [ INITIALLY DEFERRED | INITIALLY IMMEDIATE ]
select version();
version
--------------------------------------------------------------------------------------------
PostgreSQL 8.2.6 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC)
4.2.1 (SUSE Linux)
Hat jemand Hinweise?
Thomas
--
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de
From: | "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com> |
---|---|
To: | pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: Spalte mit not null und deferrable hinzufügen |
Date: | 2008-06-17 10:00:28 |
Message-ID: | 20080617100028.GA26166@a-kretschmer.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
am Tue, dem 17.06.2008, um 11:36:26 +0200 mailte Thomas Guettler folgendes:
> Hallo,
>
> ich möchte eine Spalte mit einem initially deferred not null constraint
> hinzufügen.
>
> db=# alter table mytable add column "time" timestamp with time zone not
> null deferrable initially deferred;
> FEHLER: falsch platzierte DEFERRABLE-Klausel
>
> Laut Doku müsste der Befehl eigentlich funktionieren:
Nein, laut Doku ebend grad nicht:
Currently, only foreign key constraints are affected by this setting.
http://www.postgresql.org/docs/8.3/interactive/sql-set-constraints.html
unter dem Teil, der DEFERRED beschreibt.
Andreas
--
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net
From: | Thomas Guettler <hv(at)tbz-pariv(dot)de> |
---|---|
To: | "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>, pgsql-de-allgemein(at)postgresql(dot)org |
Subject: | Re: [pgsql-de-allgemein] Spalte mit not null und deferrable hinzufügen |
Date: | 2008-06-17 10:24:45 |
Message-ID: | 485790ED.6060307@tbz-pariv.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-de-allgemein |
A. Kretschmer schrieb:
> am Tue, dem 17.06.2008, um 11:36:26 +0200 mailte Thomas Guettler folgendes:
>
>> Hallo,
>>
>> ich möchte eine Spalte mit einem initially deferred not null constraint
>> hinzufügen.
>>
>> db=# alter table mytable add column "time" timestamp with time zone not
>> null deferrable initially deferred;
>> FEHLER: falsch platzierte DEFERRABLE-Klausel
>>
>> Laut Doku müsste der Befehl eigentlich funktionieren:
>>
>
> Nein, laut Doku ebend grad nicht:
>
> Currently, only foreign key constraints are affected by this setting.
>
> http://www.postgresql.org/docs/8.3/interactive/sql-set-constraints.html
> unter dem Teil, der DEFERRED beschreibt.
>
Hallo Andreas,
danke für den Hinweis. Das Problem habe ich umgangen.
Gruß,
Thomas
PS: Prinzipiell wäre es schon schön, wenn auch andere Constraints außer
Foreignkey und Constraint Trigger deferrable sind.
--
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de