Juste pour le garder quelque part, voici la procédure simple pour faire un backup puis un import d’une base complète postgresql:
Export:
// dump de la base "db" appartenant à "dbUser"
$ pg_dump -Ft -O -U dbUser db | gzip -c - > /tmp/mydump.tar.gz
$ pg_dump -Ft -O -U dbUser db | gzip -c - > /tmp/mydump.tar.gz
Import:
// création de la base et import:
$ createdb newdb -E UTF-8 -O dbUser
$ zcat /tmp/mydump.tar.gz | pg_restore -Ft -O -U dbUser -d newdb
$ createdb newdb -E UTF-8 -O dbUser
$ zcat /tmp/mydump.tar.gz | pg_restore -Ft -O -U dbUser -d newdb
Note: Je préfère utilise le format « tar », car généralement, un tar+gz pèse moins lourd qu’un export custom de ce que j’ai pu manipuler. Mais chacun se fera son avis en utilisant le flag -Ft (tar) ou -Fc (custom).
Note 2: On ne peut que faire des mises à jour vers des bases de version égales ou plus récentes… et j’ai appris cela en essayant d’importer en vain mon dump pgsql 8.4 sur une base 8.3 …