REFERENCES & SQL-dump

Hi, ichhab zZ 2 Probleme mit PostgreSQL, Das erste is ich würd gern nen dump der von meiner DB erstellen, als sicherung und solche Sachen eben, und das 2. Problem hab ich mit den REFERENCES, ich hab extra noch ma im Manuel nachgeschaut, ah ich bekomme die irgendwie net realisiert, ich bekomme immer ne fehlermeldung.
Das soll zb ne anweisung sein:

CREATE TABLE verwarnungen ( ID serial NOT NULL, FK_wer integer REFERENCES user (ID) ON DELETE CASCADE ON UPDATE CASCADE, FK_von integer REFERENCES user (ID) ON DELETE RESTRICT ON UPDATE CASCADE, grund text, PRIMARY KEY (ID) );
HAb ich grad nen denkfehler?

Gibts hir echt niemanden, der mir sagen kann, wie ich am dümmsten nen Dump meiner DB ziehe, oder was ich bei der Verwendung der REFERENCES falsch mache?

Wie lautet eigentlich die Fehlermeldung?
Gibt es die Tabelle schon auf die referenziert wird?

Die Fehlermeldung bezüglich der REFERENCES lautet

[code]ERROR: syntax error at or near "user"
LINE 3: FK_wer integer REFERENCES user (ID) ON DELETE CASCADE ON…
^

In der Anweisung:

CREATE TABLE verwarnungen (
ID serial NOT NULL,
FK_wer integer REFERENCES user (ID) ON DELETE CASCADE ON UPDATE CASCADE,
FK_von integer REFERENCES user (ID) ON DELETE RESTRICT ON UPDATE CASCADE,
grund text,
PRIMARY KEY (ID)
);[/code]

Ja die Tabelle existiert.

Hab jetzt ma noch überall nen server. vor jeden tabbelennamen gesetzt. Da komt dann die Fehlermeldung:

[code]ERROR: column “id” referenced in foreign key constraint does not exist

In der Anweisung:

CREATE TABLE server.verwarnungen (
ID serial NOT NULL,
FK_wer integer REFERENCES server.user (ID) ON DELETE CASCADE ON UPDATE CASCADE,
FK_von integer REFERENCES server.user (ID) ON DELETE RESTRICT ON UPDATE CASCADE,
grund text,
PRIMARY KEY (ID)
);[/code]

Tabelle server.user (in ermangelung einer möglichkeit nen dum zu ziehen):

Spalte Datentyp Nicht Null Vorgabe Aktionen Kommentar ID integer NOT NULL nextval('"user_ID_seq"'::regclass) Ändern Löschen name character varying(25) Ändern Löschen passwort character(32) Ändern Löschen email character varying(255) Ändern Löschen gm integer Ändern Löschen anmeldedatum timestamp without time zone Ändern Löschen action timestamp without time zone Ändern Löschen avatar character varying Ändern Löschen signatur text Ändern Löschen vorname character varying(25) NOT NULL Ändern Löschen nachname character varying(25) Ändern Löschen geburtstag date Ändern Löschen sex boolean Ändern Löschen land character(2) Ändern Löschen homepage character varying(255) 'http://'::character varying Ändern Löschen me text Ändern Löschen

Habs hinbekommen, lag mal wieder daran, das Postgres zwar angeblich case insensitive is, ah intern irgendwie doch ganz ungünstig case sensitive arbeitet, und zwar immer mit kleinen Buchstaben.
hab jetzt quasi das ID in der Tabelle in id geändert, und dann gins.
Wer dmir das mit dieser Eigenatt nei merken.
Hab jetzt ah immer noch das Prob, das ich kein Dump ziehen kann, um zB diese änderung auch auf meiner anderen Db einfach zu ändern, sondern imnmer noch jede Tabelle von hand abschreiben müsste (das is mir irgendwie zu viel sinnlose arbeit).

Ah ma noch ne andere Frage, kann mir wer sagen, wie ich das “richtig” ausdrücke?

CREATE TABLE server.verwarnungen ( id serial NOT NULL, datum timestamp without time zone, fk_wer integer REFERENCES server.user (id) ON DELETE CASCADE ON UPDATE CASCADE, fk_von integer REFERENCES server.user (id) ON DELETE RESTRICT ON UPDATE CASCADE CHECK ((SELECT gm FROM server.user WHERE id = fk_von) > (SELECT gm FROM server.user WHERE id = fk_wer)), grund text, PRIMARY KEY (ID) );