Hallo,
es gibt ja hier den einen oder anderen, der PostgreSQL macht.
Ich habe da etwas, was ich für komisch halte. Es handelt sich um 8.1.11
als Server - ist nicht mehr das Neueste, ich weiß, aber es ist ein SLES
und da muß es super sein ...
psql> CREATE TABLE a1 (id BIGSERIAL PRIMARY KEY, name TEXT);
psql> \d+ a1
Column | Type | Modifiers | Description
--------+--------+-------------------------------------------------+-------------
id | bigint | not null default nextval('a1_id_seq'::regclass) |
name | text | |
Indexes:
"a1_pkey" PRIMARY KEY, btree (id)
Has OIDs: no
Wenn ich das per pg_dump ausspucke, kommt da erwartungsgemäß die
Table-Definition und dann im Dump noc hein ein
ALTER TABLE ONLY a1 ADD CONSTRAINT a1_pkey PRIMARY KEY (id);
Soweit so gut.
Jetzt habe ich die Tabelle und auch den Index umbenannt:
psql> ALTER TABLE a1 RENAME TO a2;
psql> ALTER INDEX a1_pkey RENAME TO a2_pkey;
psql> \d+ a2
Column | Type | Modifiers | Description
--------+--------+-------------------------------------------------+-------------
id | bigint | not null default nextval('a1_id_seq'::regclass) |
name | text | |
Indexes:
"a2_pkey" PRIMARY KEY, btree (id)
Has OIDs: no
Sieht auch noch gut aus, Tabelle und Index haben neue Namen.
Jetzt aber im pg_dump, erscheint immer noch
ALTER TABLE ONLY a2 ADD CONSTRAINT a1_pkey PRIMARY KEY (id);
Und mein a2_pkey wird nirgens erwähnt.
Bug oder Feature? Oder mache ich etwas falsch? Am "pg_dump" scheint es
nicht zu liegen, wenn ich auf einer anderen Maschine ein pg_dump (8.3.6)
nehme, dann ist das genauso falsch, außer ich mache das o.a. Experiment
auch mit dem 8.3.6 Server, dann ist es, wie ich's erwartet hätte.
Viele Grüße
Heiko
--
SCHLITTERMANN.de ---------------------------- internet & unix support -
Heiko Schlittermann HS12-RIPE -----------------------------------------
gnupg encrypted messages are welcome - key ID: 48D0359B ---------------
gnupg fingerprint: 3061 CFBF 2D88 F034 E8D2 7E92 EE4E AC98 48D0 359B -