Spalte mit not null und deferrable hinzufügen

Spalte mit not null und deferrable hinzufügen

am 17.06.2008 11:36:26 von Thomas Guettler

Hallo,

ich möchte eine Spalte mit einem initially deferred not null constraint=
=20
hinzufügen.

db=3D# alter table mytable add column "time" timestamp with time zone not=
=20
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 |=20
NULL |=20
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();
=20=
=20
version =20=2 0 =

------------------------------------------------------------ ---------------=
-----------------
PostgreSQL 8.2.6 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC)=20
4.2.1 (SUSE Linux)

Hat jemand Hinweise?

Thomas

--=20
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de


--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: Sp

am 17.06.2008 12:00:28 von andreas.kretschmer

am Tue, dem 17.06.2008, um 11:36:26 +0200 mailte Thomas Guettler folgend=
es:
> Hallo,
>=20
> ich möchte eine Spalte mit einem initially deferred not null constrai=
nt=20
> hinzufügen.
>=20
> db=3D# alter table mytable add column "time" timestamp with time zone n=
ot=20
> null deferrable initially deferred;
> FEHLER: falsch platzierte DEFERRABLE-Klausel
>=20
> 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-const raints.html
unter dem Teil, der DEFERRED beschreibt.


Andreas
--=20
Andreas Kretschmer
Kontakt: Heynitz: 035242/47150, D1: 0160/7141639 (mehr: -> Header)
GnuPG-ID: 0x3FFF606C, privat 0x7F4584DA http://wwwkeys.de.pgp.net

--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.o=
rg)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein

Re: [pgsql-de-allgemein] Spalte mit not null und deferrable hinzufügen

am 17.06.2008 12:24:45 von Thomas Guettler

A. Kretschmer schrieb:
> am Tue, dem 17.06.2008, um 11:36:26 +0200 mailte Thomas Guettler folgend=
es:
> =20
>> Hallo,
>>
>> ich möchte eine Spalte mit einem initially deferred not null constrain=
t=20
>> hinzufügen.
>>
>> db=3D# alter table mytable add column "time" timestamp with time zone no=
t=20
>> null deferrable initially deferred;
>> FEHLER: falsch platzierte DEFERRABLE-Klausel
>>
>> Laut Doku müsste der Befehl eigentlich funktionieren:
>> =20
>
> 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-const raints.html
> unter dem Teil, der DEFERRED beschreibt.
> =20
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.


--=20
Thomas Guettler, http://www.thomas-guettler.de/
E-Mail: guettli (*) thomas-guettler + de


--=20
Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-de-allgemein