CREATE TABLE dans un schéma Postgres

Create Table Dans Un Schema Postgres



PostgreSQL est l'un des systèmes de bases de données relationnelles objet les plus populaires. C'est un logiciel gratuit et open source qui étend le langage SQL avec des fonctionnalités supplémentaires pour gérer les charges de travail de données complexes. Il peut fonctionner avec différents types de données, fiables et sécurisés. En savoir plus sur les fonctionnalités de PostgreSQL.

Dans ce guide, nous en apprendrons plus sur la création de tables dans un schéma dans PostgreSQL.







Schémas dans PostgreSQL

Une base de données PostgreSQL peut contenir un ou plusieurs schémas nommés, chaque schéma contenant des tables.



Le même nom d'objet peut être attribué à plusieurs schémas sans conflit. Par exemple, l'arborescence schéma/table suivante est valide :



  • schema_a
    • Tableau 1
    • Tableau 2
  • schema_b
    • Tableau 1
    • Tableau 2

Vous pouvez penser à des schémas comme des répertoires au niveau du système d'exploitation. La différence est qu'il ne peut pas y avoir de schémas imbriqués. En savoir plus sur le schéma sur Documentation PostgreSQL .





Il peut y avoir plusieurs raisons d'implémenter les schémas :

  • Plusieurs utilisateurs utilisant la même base de données sans entrer en conflit les uns avec les autres.
  • Meilleure organisation et gestion des bases de données en groupes logiques.
  • Les applications tierces peuvent créer leur schéma unique sans entrer en collision avec les schémas existants ou d'autres objets.

Tables dans PostgreSQL

Toute base de données relationnelle se compose de plusieurs tables liées, chacune composée de lignes et de colonnes. PostgreSQL est livré avec plusieurs tables intégrées contenant diverses informations système. Cependant, nous pouvons également créer de nouvelles tables sous des bases de données et des schémas définis par l'utilisateur.



Conditions préalables:

Pour effectuer les étapes décrites dans ce guide, vous aurez besoin des composants suivants :

  • Un système Linux correctement configuré. En savoir plus sur installer Ubuntu dans VirtualBox .
  • Une installation correcte de PostgreSQL. Vérifier installer PostgreSQL sur Ubuntu .
  • Accéder à un Utilisateur PostgreSQL avec Autorisation UTILISATION à une base de données.

Pour les besoins de ce guide, nous utiliserons postgres pour effectuer toutes les actions dans PostgreSQL.

Création de tables dans un schéma

Création d'une base de données de démonstration

Comme mentionné précédemment, les schémas existent sous une base de données. À des fins de démonstration, nous créons une base de données factice, évitant de perturber toute base de données existante.

Accédez au shell PostgreSQL en tant que postgres :

$ sudo -i -u postgres psql

Créer une nouvelle base de données demo_db :

$ CRÉER BASE DE DONNÉES demo_db ;

Vérifiez si la base de données est créée avec succès :

$\l

Enfin, connectez-vous à la base de données nouvellement créée :

$ \connect demo_db;

Le schéma public

Toute nouvelle base de données dans PostgreSQL est livrée avec un schéma par défaut - Publique . Si vous essayez de créer un objet sans spécifier le nom du schéma, le schéma public est sélectionné par défaut.

La commande suivante imprime tous les schémas disponibles dans la base de données PostgreSQL :

$ \dn

Alternativement, nous pouvons également utiliser la requête SQL suivante :

$ SELECT * FROM pg_catalog.pg_namespace;

Création d'un nouveau schéma

Pour créer un nouveau schéma sous une base de données spécifique, la structure de commande est la suivante :

$ CREATE SCHEMA  ;

En suivant la règle, créons un nouveau schéma demo_schema :

$ CREATE SCHEMA demo_schema;

Vérifiez la liste des schémas pour vérification :

$ \dn

Création d'une table dans un schéma

Maintenant que nous avons créé le schéma cible, nous pouvons le remplir avec des tables.

La syntaxe pour créer une table est la suivante :

CREATE TABLE . (

...
)

Ici:

  • schéma : Ce champ spécifie le nom du schéma où la table est créée. Si aucune valeur n'est fournie, la table est créée sous le Publique schéma.

Pour la démonstration, nous créons un tableau simple :

CREATE TABLE demo_schema.demo_table (

NOM CHAR(64),

ID INT NON NULL

);

Ici:

  • Le champ NOM est spécifié pour stocker une chaîne de 64 caractères.
  • Le champ IDENTIFIANT contient les valeurs entières. Le terme ' NON NUL ' indique que IDENTIFIANT ne peut pas être vide ou nul.

Nous pouvons vérifier l'existence de la table à l'aide de la requête suivante :

$ SELECT * FROM demo_schema.demo_table;

Insertion de données dans le tableau

Avec le tableau en place, nous pouvons maintenant insérer quelques valeurs :

INSERT INTO demo_schema.demo_table (NOM, ID)

VALEURS

('PQR', 45),

('IJK', 99)

;

Vérifiez le contenu du tableau :

$ SELECT * FROM demo_schema.demo_table;

Gestion des schémas

Autorisations de schéma

Avec l'aide de l'autorisation de schéma, nous pouvons gérer quel rôle peut effectuer quelle action sur un schéma spécifique. Parmi tous les privilèges possibles, les schémas ne prennent en charge que CRÉER et UTILISER.

Pour mettre à jour l'autorisation de schéma pour un rôle particulier, la structure de commande est la suivante :

$ GRANT ON SCHEMA TO  ;

Pour révoquer l'autorisation de schéma pour un rôle particulier, la structure de commande est la suivante :

$ REVOKE ON SCHEMA TO  ;

Vérifiez la modification à l'aide de la commande suivante :

$ \dn+

Modifier les propriétés du schéma

Avec l'aide du MODIFIER LE SCHÉMA , nous pouvons modifier les différentes propriétés d'un schéma. Par exemple : propriété, nom du schéma, etc.

Pour modifier le nom du schéma, utilisez la requête suivante :

$ ALTER SCHEMA RENOMMER EN  ;

Pour modifier la propriété d'un schéma, utilisez la requête suivante :

$ ALTER SCHEMA OWNER TO  ;

Notez que pour changer la propriété, l'utilisateur actuel doit avoir le CRÉER autorisation au schéma.

Suppression d'un schéma

Si un schéma n'est plus nécessaire, nous pouvons le supprimer en utilisant le GOUTTE requête:

$ DROP SCHEMA

Si le schéma contient un objet, nous avons besoin du CASCADE modificateur:

$ DROP SCHEMA CASCADE ;

Gestion des tables

Autorisations de table

Comme le schéma, chaque table est également livrée avec une gestion des autorisations, définissant l'action qu'un rôle peut effectuer sur la table.

Pour vérifier les permissions d'une table, utilisez la commande suivante dans psql :

$ \dp

Modifier les propriétés du tableau

Avec l'aide du MODIFIER TABLE déclaration, nous pouvons modifier les nombreux aspects d'une table déjà existante.

Par exemple, pour supprimer une colonne, la requête ressemble à ceci :

$ ALTER TABLE DROP COLUMN  ;

Pour ajouter une nouvelle colonne, nous pouvons utiliser la requête suivante :

$ ALTER TABLE ADD COLUMN  ;

Nous pouvons également définir la compression pour une colonne spécifique :

$ ALTER COLUMN SET COMPRESSION  ;

Suppression d'un tableau

Pour supprimer une table d'un schéma, nous pouvons utiliser le TABLEAU DE DÉCOMPTE requête:

$ DROP TABLE  ;

Notez que contrairement aux schémas, le TABLEAU DE DÉCOMPTE la requête ne produira pas d'erreur, que la table soit vide ou non.

Conclusion

Dans ce guide, nous avons montré comment créer les tables dans un schéma dans PostgreSQL. Nous avons créé un schéma factice dans une base de données factice et créé une table dans le schéma. Ce guide a également expliqué comment gérer les différentes propriétés des schémas et des tables.

Pour une meilleure intégrité des données, vous pouvez configurer un réplication logique PostgreSQL . Pour maintenir la base de données PostgreSQL en bonne santé, vous pouvez configurer le vide automatique pour nettoyer les tuples morts laissés par les enregistrements supprimés.

Pour plus de guides PostgreSQL, consultez le Sous-catégorie PostgreSQL .