-- ############################################################################
-- Script "SQL" de creation et chargement de la base cave
-- 20200528 Récupéré du vieux dépôt
--          modifié pour l'époque moderne et le dépôt manuels

-- LA BASE **cave** EXISTANTE SERA ECRASEE !
-- Idem pour user **caviste**

-- A charger en tant qu'utilisateur postgresql :
--     psql -X -v ON_ERROR_STOP=1 < create_base_cave.sql
-- ############################################################################
-- S'assurer que le client est compatible avec les locales
-- On ne connait pas la locale de la base, a priori
-- Il semblerait toutefois qu'un client en latin9 sache afficher
-- des infos de base en UTF8
--
-- Plus en 2020 
-- set CLIENT_ENCODING to 'latin9';

SET synchronous_commit TO off;

-- On droppe la base cave au cas ou elle existe
DROP DATABASE IF EXISTS cave;

-- On supprime l'utilisateur caviste s'il existe
DROP ROLE IF EXISTS caviste;

-- On cree l'utilisateur caviste
CREATE ROLE caviste LOGIN NOSUPERUSER NOCREATEROLE NOCREATEDB PASSWORD 'caviste';

-- On cree la base cave
CREATE DATABASE cave OWNER caviste;

-- Connection à la base cave
\c cave

SET SESSION AUTHORIZATION caviste;

-- Creation du schema de la base de donnees
\i schema/schema_cave.sql
\i fonctions/peuple_vin.sql
\i fonctions/peuple_stock.sql
\i fonctions/trous_stock.sql
\i fonctions/trous_vin.sql
\i data/appellation_region.sql
\i data/data.sql

\echo Fin de la generation de la base cave


\d+

VACUUM ANALYZE appellation ;
VACUUM ANALYZE contenant ;
VACUUM ANALYZE recoltant ;
VACUUM ANALYZE region ;
VACUUM ANALYZE stock ;
VACUUM ANALYZE type_vin ;
VACUUM ANALYZE vin ;
