To Bug or not to Bug?

Hallo,

ich habe folgendes Problem:
Eine Sicherung “pg_dump -at tabname > tabname.dump” lässt sich nicht ohne Fehler einspielen, obwohl hinterher die Datenbank fehlerfrei ist.

Die Meldung lautet:

ERROR:  duplicate key violates unique constraint "medien_pkey"
CONTEXT:  COPY medien, line 1: "1	'CD-R'	CD"

Die Tabellendefinition lautet:

create table medien (id serial unique, name varchar(255) not null, kurzname varchar(6) primary key);

und der zugehörige Dump:

-- PostgreSQL database dump

SET client_encoding = 'UTF8';
SET check_function_bodies = false;
SET client_min_messages = warning;

SELECT pg_catalog.setval(pg_catalog.pg_get_serial_sequence('medien', 'id'), 8, true);

-- Data for Name: medium; Type: TABLE DATA; Schema: public; Owner: rolf

COPY medien (id, name, kurzname) FROM stdin;
1	'CD-R'	CD
2	1 GB Travan-Band	TAPE3
3	1.44 MB Floppy	FDD1
4	150 MB Band	TAPE1
5	DVR+R	DVDpR
6	250 MB Band	TAPE
7	237 MByte Syquest-Laufwerk	SYQST
8	1.44 MB Floppy	FDD
\.

Randbedingungen: Linux (Debian ETCH), PostgreSQL 8.1
Vielleicht kann das mal jemand ausprobieren, ob bei ihm der selbe Fehler auftritt?
Vielen Dank
Rolf

wilde Vermutung: Du versuchst, das in eine bereits gefüllte Tabelle zu COPYieren. Das knallt dann, weil es den PK schon gibt. Deswegen ist hinterher auch die Tabelle okay.

Andreas

Hallo Andreas,

wilde Vermutung: Du versuchst, das in eine bereits gefüllte Tabelle zu COPYieren. Das knallt dann, weil es den PK schon gibt. Deswegen ist hinterher auch die Tabelle okay.

Nein. Droppe zuerst die Datenbank, lege die Tabellen neu an und füge dann den Inhalt ein. Deshalb kommt mir das ja irgendwie buggy vor.

Gruß
Rolf

Welche PostgreSQL Version war das vorher und hinterher?

Hallo ads,

Welche PostgreSQL Version war das vorher und hinterher?

jeweils 8.1 - kein Umzug, sondern Tests für eine Anwendung.

Gruß
Rolf

Du dumpst bloss die Daten … aber spielst die Strukturen aus einer anderen Quelle wieder ein?

  1. Kann es sein, das die Strukturen unterschiedlich sind, vorher und nachher?

  2. Wie oft befindet sich der problematische Schlüssel in der originalen Tabelle? Einmal oder häufiger?