PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 13/01/2010 11:26:57

mikl
Membre

[RÉSOLU] Déplacer les tables et séquences du schéma public vers (...)

Sur nos bases de données, l’ensemble des tables et des séquences ont été créés dans le schéma public, cela ne semble pas être une bonne pratique lorsque les informations contenues dans les tables deviennent sensibles. [Nos bases sont en 8.2 et 8.4]
L’idée est de placer ces tables et séquences dans un schéma_cible (créé pour l’occasion).

Quelle est la meilleure solution :
Renommer le schéma public, modifier les droits associés et recréer un schéma  public puis réinstaller les fonctions des contrib Postgres. Transaction du type :
  ALTER SCHEMA public RENAME TO schema_cible;
  ALTER  SCHEMA schema_cible OWNER TO user_app;

  CREATE SCHEMA public  AUTHORIZATION postgres;
  GRANT ALL ON SCHEMA public TO postgres;
  GRANT ALL ON SCHEMA public TO public;
  COMMENT ON SCHEMA public IS 'standard public schema';

  REVOKE ALL ON SCHEMA schema_cible FROM public;
  COMMENT ON SCHEMA schema_cible IS 'schema_cible schema';

Ou créer le schéma cible, transférer les séquences et les tables dans le schéma cible puis supprimer les objets dans le schéma public. Sachant que cette opération prend un temps certain (load des données).

Merci d’avance pour vos remarques ou idées

Hors ligne

#2 13/01/2010 11:36:13

Marc Cousin
Membre

Re : [RÉSOLU] Déplacer les tables et séquences du schéma public vers (...)

Renommer le schema est de loin le plus rapide. Pourquoi faire autrement ?
Sinon on peut aussi déplacer les tables d'un schema vers un autre (alter table xxx set schema yyy)


Marc.

Hors ligne

#3 13/01/2010 12:14:12

mikl
Membre

Re : [RÉSOLU] Déplacer les tables et séquences du schéma public vers (...)

Merci pour ces infos

Hors ligne

Pied de page des forums