Re: [pgsql-de-allgemein] [hs@schlittermann.de: PostgreSQL 8.1.11: pg_dump weiß nichts von umbenannten Indizes?]

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: "A(dot) Kretschmer" <andreas(dot)kretschmer(at)schollglas(dot)com>
Cc: pgsql-de-allgemein(at)postgresql(dot)org, Heiko Schlittermann <hs(at)schlittermann(dot)de>
Subject: Re: [pgsql-de-allgemein] [hs@schlittermann.de: PostgreSQL 8.1.11: pg_dump weiß nichts von umbenannten Indizes?]
Date: 2009-03-19 12:45:38
Message-ID: 49C23E72.7010504@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

A. Kretschmer wrote:
> Moin,
>
> ich leite hier mal was rein. Ich habe mal geschaut, was in pg_constraint
> und was in pg_class steht, und ich pg_constraint ist das offensichtlich
> falsch, also ich würde es als Bug sehen. Was meint ihr?
>
> (Problem nachvollzogen mit 8.1.4)

Vorneweg: in 8.3 geht es richtig.

Das Problem ist aber, dass er den Index umbenannt hat und nicht den
Constraint. Der Index wurde ja automatisch als Implementierungsdetail
des Constraints angelegt. Korrekt wäre also entweder das direkte
Umbenennen des Index zu verhindern, oder -- etwas menschenfreundlicher,
wie es 8.3 ja auch macht -- den Constraint mit dem Index anzugleichen.

>
>
> Andreas
>
>
> ------------------------------------------------------------------------
>
> Subject:
> PostgreSQL 8.1.11: pg_dump weiß nichts von umbenannten Indizes?
> From:
> Heiko Schlittermann <hs(at)schlittermann(dot)de>
> Date:
> Thu, 19 Mar 2009 10:45:11 +0100
> To:
> Lug-dd <Lug-dd(at)mailman(dot)schlittermann(dot)de>
>
> To:
> Lug-dd <Lug-dd(at)mailman(dot)schlittermann(dot)de>
>
>
> 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
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Lug-dd maillist - Lug-dd(at)mailman(dot)schlittermann(dot)de
> https://ssl.schlittermann.de/mailman/listinfo/lug-dd
>
>
> ------------------------------------------------------------------------
>
>

In response to

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Heiko Schlittermann 2009-03-19 13:02:20 Re: [hs@schlittermann.de: PostgreSQL 8.1.11: pg_dump weiß nichts von umbenannten Indizes?]
Previous Message A. Kretschmer 2009-03-19 10:27:49 [hs@schlittermann.de: PostgreSQL 8.1.11: pg_dump weiß nichts von umbenannten Indizes?]