pg_dump ignorieren Tisch-Sequenz?
Ich habe das Spiel mit PostgreSQL in letzter Zeit, und habe Schwierigkeiten zu verstehen, wie die Sicherung und Wiederherstellung einer einzelnen Tabelle.
Benutzte ich pgadmin3 backup einer einzelnen Tabelle in meine Datenbank, um zu kopieren, auf einem anderen server. Wenn ich versuche, eine pg_restore auf die Datei, dann bekomme ich Fehlermeldungen sagen, dass die Sequenz nicht vorhanden ist:
pg_restore: [archiver (db)] could not execute query: ERROR: relation "businesses_id_seq" does not exist
Command was:
CREATE TABLE businesses (
id integer DEFAULT nextval('businesses_id_seq'::regclass) NOT NULL,
name character varyin...
Sieht es aus wie die dump-Datei nicht enthalten die Sequenz für mein auto increment Spalte. Wie bekomme ich es zählen?
InformationsquelleAutor demersus | 2011-01-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
dumping durch die Tabelle nur - dump wird nur der Tisch. Sie müssen dump-Sequenz, die separat neben der Tabelle.
Wenn Sie nicht wissen, Ihre Sequenz können Sie die Liste mit
\d yourtable
in psql. Sie werden sehen, der etwas in der Zeile, in Ihrer Sequenz auf, die wie folgt aussieht :nextval('yourtable_id_seq'::regclass')
Dann von der Befehlszeile aus
pgdump -t yourtable_id_seq
http://www.postgresql.org/docs/9.0/static/app-pgdump.html
Nein, aber Sie können mehrere -t-switches. Wie diese: pgdump -t mytable -t mytabl_id_seq
InformationsquelleAutor nate c