Mardi 13 février 2018: mise en place d’une base de données PostgreSQL 10.2 avec import de la base de données db_id3_intranet

docker-compose_for_existing_database.yml

La ligne très importante qu’il fallait trouver est la ligne:

- ./init:/docker-entrypoint-initdb.d/
# docker-compose_for_existing_database.yml
# Create a new persistant intranet_volume from init/db.dump_2018_02_01.sql
version: "3"
services:
  db:
        build:
          context: .
          dockerfile: db/Dockerfile
        container_name: container_database
        ports:
          # the 5432 host port is occupied by a local postgressql server
          - 5433:5432
        volumes:
          - intranet_volume:/var/lib/postgresql/data
          # First import of the database
          - ./init:/docker-entrypoint-initdb.d/


volumes:
  intranet_volume:

Contenu du répertoire init

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       13/02/2018     11:05       34177687 db.dump_2018_02_01.sql

L’entête du fichier SQL étant:

--
-- PostgreSQL database dump
--

-- Dumped from database version 10.1
-- Dumped by pg_dump version 10.1

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET row_security = off;

--
-- Name: db_id3_intranet; Type: DATABASE; Schema: -; Owner: id3admin
--

CREATE DATABASE db_id3_intranet WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'fr_FR.UTF-8' LC_CTYPE = 'fr_FR.UTF-8';

CREATE USER id3admin WITH
  LOGIN
  NOSUPERUSER
  INHERIT
  NOCREATEDB
  NOCREATEROLE
  NOREPLICATION
  password 'id338';

ALTER DATABASE db_id3_intranet OWNER TO id3admin;

\connect db_id3_intranet

SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SET check_function_bodies = false;
SET client_min_messages = warning;
SET row_security = off;

--
-- Name: db_id3_intranet; Type: COMMENT; Schema: -; Owner: id3admin
--

COMMENT ON DATABASE db_id3_intranet IS 'La base db_id3_intranet';

Création de la base db_id3_intranet

CREATE DATABASE db_id3_intranet WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'fr_FR.UTF-8' LC_CTYPE = 'fr_FR.UTF-8';

Création de l’utilisateur id3admin

CREATE USER id3admin WITH
  LOGIN
  NOSUPERUSER
  INHERIT
  NOCREATEDB
  NOCREATEROLE
  NOREPLICATION
  password 'id338';