Outils pour utilisateurs

Outils du site


structure_postgres

Ceci est une ancienne révision du document !


structure de la base de données openstock

les roles

 openstock=> \du
                                              Liste des rôles
 Nom du rôle |                                    Attributs                                    | Membre 
-------------+---------------------------------------------------------------------------------+-------
 deb         | Superutilisateur, Créer un rôle, Créer une base                                 | {}
 deb_asso    |                                                                                 | {}
 postgres    | Superutilisateur, Créer un rôle, Créer une base, Réplication, Contournement RLS | {}

Les droits

openstock=> \dp  openstock_association.*
                                                           Droits d'accès
        Schéma         |            Nom            |   Type   |      Droits d'accès       | Droits d'accès à la colonne | Politiques 
-----------------------+---------------------------+----------+---------------------------+------------ openstock_association  | archive_entre             | table    | postgres=arwdDxt/postgres+|                              
                       |                           |          | deb_asso=arwd/postgres    |                              
openstock_association  | archive_entre_seq         | séquence | postgres=rwU/postgres    +|                             
                       |                           |          | deb_asso=rw/postgres      | 

et les privilèges :

openstock=> SELECT GRANTOR, GRANTEE, TABLE_NAME, ' <TABLE>' AS COLUMN_NAME, PRIVILEGE_TYPE,   IS_GRANTABLE FROM   INFORMATION_SCHEMA.TABLE_PRIVILEGES
WHERE  GRANTEE IN ('deb_asso');

 grantor  | grantee  |       table_name        | column_name | privilege_type | is_grantable 
----------+----------+-------------------------+-------------+----------------+--------------
 postgres | deb_asso | om_permission           |  <TABLE>    | INSERT         | NO
 postgres | deb_asso | om_permission           |  <TABLE>    | SELECT         | NO
 postgres | deb_asso | om_permission           |  <TABLE>    | UPDATE         | NO
 postgres | deb_asso | om_permission           |  <TABLE>    | DELETE         | NO
 postgres | deb_asso | om_lettretype           |  <TABLE>    | INSERT         | NO
 postgres | deb_asso | om_lettretype           |  <TABLE>    | SELECT         | NO
 postgres | deb_asso | om_lettretype           |  <TABLE>    | UPDATE         | NO

...

la base de données

Toute création de base se fait à partir d’un modèle. Par défaut, PostgreSQL utilise le modèle template1.

les schémas

Les schémas sont comparables aux répertoires du système d'exploitation.

Ils permettent:

  • l'indépendance des utilisateurs sur une même base de données (pas d'interférence)
  • organiser la base de données en groupe logique
  • d'éviter les mêmes noms d'objet (exemple: plusieurs instances d'openAssociation)

openstock contient les schémas suivants

\dn
          Nom          | Propriétaire 
-----------------------+--------------
 openstock_association | postgres
 public                | postgres

et deux schémas non visibles qui contient les objets de la base de données

  • information_schema au standart sql
  • pg_catalog spécifique à postgres
\dt information_schema.*
                         Liste des relations
       Schéma       |           Nom           | Type  | Propriétaire 
--------------------+-------------------------+-------+--------------
 information_schema | sql_features            | table | postgres
 information_schema | sql_implementation_info | table | postgres
 information_schema | sql_languages           | table | postgres
 information_schema | sql_packages            | table | postgres
 information_schema | sql_parts               | table | postgres
 information_schema | sql_sizing              | table | postgres
 information_schema | sql_sizing_profiles     | table | postgres


\dv information_schema.*
 information_schema | _pg_foreign_table_columns             | vue  | postgres
 information_schema | _pg_foreign_tables                    | vue  | postgres
 information_schema | column_domain_usage                   | vue  | postgres
 information_schema | column_options                        | vue  | postgres
 information_schema | column_privileges                     | vue  | postgres
 information_schema | column_udt_usage                      | vue  | postgres
 information_schema | columns                               | vue  | postgres
 information_schema | constraint_column_usage               | vue  | postgres
 information_schema | constraint_table_usage                | vue  | postgres
 information_schema | data_type_privileges                  | vue  | postgres
 information_schema | schemata                              | vue  | postgres
 information_schema | sequences                             | vue  | postgres
 information_schema | table_constraints                     | vue  | postgres
 information_schema | table_privileges                      | vue  | postgres
 information_schema | tables                                | vue  | postgres
 information_schema | triggers                              | vue  | postgres
 information_schema | views                                 | vue  | postgres
 ... 


\dt pg_catalog

                     Liste des relations
   Schéma   |           Nom           | Type  | Propriétaire 
------------+-------------------------+-------+--------------
 pg_catalog | pg_aggregate            | table | postgres
 pg_catalog | pg_am                   | table | postgres

...
structure_postgres.1588879651.txt.gz · Dernière modification : 2020/05/07 19:27 de fraynaud