pg_dump ignorant séquence de table?
-
25-09-2019 - |
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?
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