Vous n'êtes pas identifié(e).
Pages : 1
Bonjour à tous,
Je travaille sur des bases en 8.4 et 9.0 sous CentOs 5.4
Je fais un pg_dump
- a pour exporter uniquement les data
-- inserts pour avoir les requêtes d'INSERT
-T pour exclure certaines tables
Mon problème, j'ai exclu la table o_f, mais mon dump contient tout de même les lignes suivantes :
--
-- Name: o_f_id_seq; Type: SEQUENCE SET; Schema: geo; Owner: postgres
--
SELECT pg_catalog.setval('o_f_id_seq', 12702, true);
Lorsque je vais importer dans une base vierge, cela va donc positionner ma séquence à 12702, alors que ma table est vide et que je veux démarrer à 1.
Est-il possible de faire un pg_dump sans les séquences ?
Question supplémentaire : est-il possible de faire de l'export sélectif, comme avec Oracle (clause Query) ?
Merci pour votre aide.
Dernière modification par mortimer.pw (28/06/2012 08:21:52)
Hors ligne
Bonjour,
il n'est pas possible d'enlever toutes les séquences d'un dump, sauf en utilisant un motif tel que *_seq, mais cela peut être dangereux si des séquences ne sont pas de ce format de nom, ou si d'autres tables finissent par _seq. Sinon vous pouvez toujours rajouter une autre option -T pour la séquence à enlever. Attention, la séquence ne sera pas crée en utilisant le script, ce qui est différent d'avoir une séquence à 1.
Il est possible de faire un export selectif avec COPY, ex:
COPY (select * from ... where ...) TO '/chemin/vers/fichier.data'
Voir la doc: http://docs.postgresqlfr.org/9.1/sql-copy.html
Julien.
https://rjuju.github.io/
Hors ligne
Pages : 1