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 | {}
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 |
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 ...
Toute création de base se fait à partir d’un modèle. Par défaut, PostgreSQL utilise le modèle template1.
\l Liste des bases de données Nom | Propriétaire | Encodage | Collationnement | Type caract. | Droits d'accès -----------+--------------+----------+-----------------+--------------+----------------------- openstock | postgres | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 | postgres | postgres | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 | template0 | postgres | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres
Il est possible de personnaliser les templates et de créer un template avec l'extension postgis et une table jpa par exemple.
template1=# create table jpa (id integer); CREATE TABLE template1=# create extension postgis template1-# ; CREATE EXTENSION template1=# create database exemple; CREATE DATABASE template1=# \c exemple Vous êtes maintenant connecté à la base de données « exemple » en tant qu'utilisateur « deb ». exemple=# \d Liste des relations Schéma|Nom|Type|Propriétaire public|geography_columns|vue|deb public|geometry_columns|vue|deb public|jpa|table|deb public|raster_columns|vue|deb public|raster_overviews|vue|deb public|spatial_ref_sys|table|deb
Les schémas sont comparables aux répertoires du système d'exploitation.
Ils permettent:
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
\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 ...