{"id":19,"date":"2003-07-30T00:41:45","date_gmt":"2003-07-29T23:41:45","guid":{"rendered":"https:\/\/arliguy.net\/2003\/07\/30\/manipuler-le-dump-dune-base-postgresql\/"},"modified":"2008-02-17T00:50:13","modified_gmt":"2008-02-16T23:50:13","slug":"manipuler-le-dump-dune-base-postgresql","status":"publish","type":"post","link":"https:\/\/arliguy.net\/2003\/07\/30\/manipuler-le-dump-dune-base-postgresql\/","title":{"rendered":"Manipuler le dump d’une base PostgreSQL"},"content":{"rendered":"

Pour toutes les manipumations qui suivent, il faut \u00eatre connect\u00e9 en tant qu\u2019utilisateur postgres :<\/p>\n

%> su - postgres<\/pre>\n

Dumper une base<\/h2>\n

La commande pg_dump permet d\u2019afficher la structure d\u2019une base nom_de_la_base ainsi que ses donn\u00e9es sur la sortie standard.<\/p>\n

En utilisant une redirection de la sortie standard vers un fichier, on r\u00e9alise donc une copie de la base.<\/p>\n

%> pg_dump -D {nom_de_la_base} > {nom_du_fichier.dump}<\/pre>\n

Recr\u00e9er une base \u00e0 partir d\u2019un dump<\/h2>\n

S\u2019il y a besoin de restaurer une base, ou d\u2019en construire une nouvelle \u00e0 partir d\u2019une base existante, il faut utiliser un fichier de dump.<\/p>\n

Dans un premier temps, effacer la base existante si besoin :<\/p>\n

%> dropdb {nom_de_la_base}<\/pre>\n

Dans un deuxi\u00e8me temps, recr\u00e9er ou cr\u00e9er la base :<\/p>\n

%> createdb {nom_de_la_base}<\/pre>\n

Dans un troisi\u00e8me temps, importer dans la base le fichier de dump :<\/p>\n

%> psql -e {nom_de_la_base} < {nom_du_fichier.dump}<\/pre>\n

Pour importer le dump, on peut aussi le faire en \u00e9tant connect\u00e9 \u00e0 la base (utile lorsque le postmaster demande une authentification par mot de passe [1]) en utilisant la commande psql :<\/p>\n

nom_de_la_base=# \\i {nom_du_fichier.dump}<\/pre>\n

Ainsi la base est cr\u00e9\u00e9e et initialis\u00e9e avec la structure et les donn\u00e9es d\u00e9clar\u00e9es dans le fichier de dump. Celui-ci \u00e9tant en mode texte il est tr\u00e9s facile de le modifier avec un \u00e9diteur.<\/p>\n

PS : Dans tous les cas, pour que cela fonctionne, il faut que le serveur de base de donn\u00e9s PostgreSQL fonctionne sur la machine. C\u2019est une erreur courante que d\u2019oublier de le d\u00e9marrer.<\/em><\/p>\n

[1] car dans ce cas l\u00e0, on ne peut pas faire la redirection de l\u2019entr\u00e9e standart<\/p>\n","protected":false},"excerpt":{"rendered":"

Comment sauvegarder une base de donn\u00e9es PostgreSQL et utiliser le dump ainsi g\u00e9n\u00e9r\u00e9 pour faire un restore.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[13],"tags":[19,18],"_links":{"self":[{"href":"https:\/\/arliguy.net\/wp-json\/wp\/v2\/posts\/19"}],"collection":[{"href":"https:\/\/arliguy.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arliguy.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arliguy.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/arliguy.net\/wp-json\/wp\/v2\/comments?post=19"}],"version-history":[{"count":0,"href":"https:\/\/arliguy.net\/wp-json\/wp\/v2\/posts\/19\/revisions"}],"wp:attachment":[{"href":"https:\/\/arliguy.net\/wp-json\/wp\/v2\/media?parent=19"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arliguy.net\/wp-json\/wp\/v2\/categories?post=19"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arliguy.net\/wp-json\/wp\/v2\/tags?post=19"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}