{"id":423,"date":"2017-08-22T17:26:31","date_gmt":"2017-08-22T16:26:31","guid":{"rendered":"http:\/\/elcep.legtux.org\/?p=423"},"modified":"2017-11-02T18:28:38","modified_gmt":"2017-11-02T17:28:38","slug":"docker-postgresql-postgis-copier-des-donnees-dun-conteneur-a-lautre","status":"publish","type":"post","link":"https:\/\/elcep.legtux.org\/?p=423","title":{"rendered":"Docker.(PostgreSQL + postGIS) copier des donn\u00e9es d&rsquo;un conteneur \u00e0 l&rsquo;autre"},"content":{"rendered":"<p>Dans un <a href=\"http:\/\/elcep.legtux.org\/?p=410\">pr\u00e9c\u00e9dent post<\/a>, je faisais mes premiers pas avec Docker. Arrive rapidement la situation o\u00f9, vous avez deux conteneurs. L&rsquo;un avec une base de donn\u00e9es spatiale en d\u00e9veloppement et\u00a0 l&rsquo;autre avec LA base de donn\u00e9es en production.<\/p>\n<p>Bon, et il peut arriver qu&rsquo;on veuille sauvegarder les donn\u00e9es et\/ou restaurer ces donn\u00e9es. Typiquement. Vous avez peupl\u00e9 votre base de nouvelles tables, vues, fonctions&#8230; et c&rsquo;est le moment de passer tout \u00e7a en production&#8230; Voil\u00e0 une piste !<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-424\" src=\"http:\/\/elcep.legtux.org\/wp-content\/uploads\/2017\/08\/dockers.gif\" alt=\"\" width=\"350\" height=\"146\" \/><\/p>\n<h2>Sauvegarder la base de donn\u00e9es avec pg_dump ou pg_dumpall<\/h2>\n<pre>docker exec -t your-db-container pg_dumpall -c -U postgres > dump_`date +%d-%m-%Y\"_\"%H_%M_%S`.sql<\/pre>\n<p>ou si la base existe d\u00e9j\u00e0 (et que vous ne voulez pas vous soucier des \u00ab\u00a0owner\u00a0\u00bb et \u00ab\u00a0privileges\u00a0\u00bb)<\/p>\n<pre>docker exec -t your-db-container pg_dump -d fs_gis -U postgres > dump_`date +%d-%m-%Y\"_\"%H_%M_%S`.sql<\/pre>\n<h2>Envoyer le dump dans le conteneur de production<\/h2>\n<pre>cat your_dump.sql | docker exec -i your-db-container psql -d dbname -U postgres\r\n<\/pre>\n<p>Le `|` est utilis\u00e9 pour envoyer les information \u00ab\u00a0lut\u00a0\u00bb par le `cat` au fur et \u00e0 mesure dans psql !<\/p>\n<p><strong>Source :<\/strong><\/p>\n<ul>\n<li><a href=\"https:\/\/stackoverflow.com\/questions\/24718706\/backup-restore-a-dockerized-postgresql-database\">stack overflow<\/a><\/li>\n<li><a href=\"https:\/\/coderwall.com\/p\/hy8jpa\/dump-postgresql-without-owner-and-privileges\">coderwall<\/a><\/li>\n<li><a href=\"https:\/\/docs.postgresql.fr\/9.2\/ssh-tunnels.html\">tunnel ssh postgresql<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Dans un pr\u00e9c\u00e9dent post, je faisais mes premiers pas avec Docker. Arrive rapidement la situation o\u00f9, vous avez deux conteneurs. L&rsquo;un avec une base de donn\u00e9es spatiale en d\u00e9veloppement et\u00a0 l&rsquo;autre avec LA base de donn\u00e9es en production. Bon, et il peut arriver qu&rsquo;on veuille sauvegarder les donn\u00e9es et\/ou restaurer ces donn\u00e9es. Typiquement. Vous avez &hellip; <a href=\"https:\/\/elcep.legtux.org\/?p=423\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Docker.(PostgreSQL + postGIS) copier des donn\u00e9es d&rsquo;un conteneur \u00e0 l&rsquo;autre<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30,2],"tags":[50,73,70,71],"class_list":["post-423","post","type-post","status-publish","format-standard","hentry","category-geekeries","category-geomatique","tag-docker","tag-pg_dump","tag-postgis","tag-postgresql"],"_links":{"self":[{"href":"https:\/\/elcep.legtux.org\/index.php?rest_route=\/wp\/v2\/posts\/423","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/elcep.legtux.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/elcep.legtux.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/elcep.legtux.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/elcep.legtux.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=423"}],"version-history":[{"count":8,"href":"https:\/\/elcep.legtux.org\/index.php?rest_route=\/wp\/v2\/posts\/423\/revisions"}],"predecessor-version":[{"id":437,"href":"https:\/\/elcep.legtux.org\/index.php?rest_route=\/wp\/v2\/posts\/423\/revisions\/437"}],"wp:attachment":[{"href":"https:\/\/elcep.legtux.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=423"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/elcep.legtux.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=423"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/elcep.legtux.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=423"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}