Question

Je joue autour avec PostgreSQL ces derniers temps, et ai du mal à comprendre comment sauvegarder et restaurer une seule table.

je pgadmin3 pour sauvegarder une seule table dans ma base de données, afin de le copier sur un autre serveur. Lorsque je tente de faire un pg_restore sur le fichier, je reçois des messages d'erreur indiquant que la séquence n'existe pas:

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...

Il semble que le fichier de vidage ne comprenait pas la séquence pour ma colonne incrémentiel automatique. Comment puis-je obtenir pour inclure cela?

Était-ce utile?

La solution

dumping de la seule table - videra seule la table. Vous devez vider la séquence séparément, en plus de la table.

Si vous ne connaissez pas votre séquence que vous pouvez lister avec \d yourtable dans psql. Vous verrez quelque chose dans la ligne de votre séquence est sur qui ressemble à: nextval('yourtable_id_seq'::regclass')

Ensuite, à partir de la ligne de commande, pgdump -t yourtable_id_seq

http://www.postgresql.org/docs/9.0/ statique / app-pgdump.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top