Créer une table dans un schéma postgres

Créer une table dans un schéma postgres

PostgreSQL est l'un des systèmes de base de données d'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 divers 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 de 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é sur plusieurs schémas sans conflit. Par exemple, le schéma / arbre de table suivant est valide:

  • schéma_a
    • Tableau 1
    • Tableau 2
  • schéma_b
    • Tableau 1
    • Tableau 2

Vous pouvez penser à des schémas comme les 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 la documentation PostgreSQL.

Il peut y avoir plusieurs raisons de mettre en œuvre les schémas:

  • Plusieurs utilisateurs utilisant la même base de données sans 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 ou autres objets existants.

Tables de PostgreSQL

Toute base de données relationnelle se compose de plusieurs tables connexes, 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émontrées dans ce guide, vous aurez besoin des composants suivants:

  • Un système Linux correctement configuré. En savoir plus sur l'installation d'Ubuntu dans VirtualBox.
  • Une installation appropriée de PostgreSQL. Consultez l'installation de PostgreSQL sur Ubuntu.
  • Accès à un utilisateur PostgreSQL avec autorisation d'utilisation à une base de données.

Aux fins de ce guide, nous utiliserons postgres Pour effectuer toutes les actions dans PostgreSQL.

Créer des 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 dans une base de données. À des fins de démonstration, nous créons une base de données factice, évitant la perturbation de toute base de données existante.

Accéder au shell postgresql comme postgres:

$ sudo -i -u postgres psql

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

$ Create Database 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 - public. 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 tout le schéma disponible 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éer un nouveau schéma

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

$ Créer un schéma;

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 la vérification:

$ \ dn

Créer une table dans un schéma

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

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

Créer une 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, le tableau est créé sous le public schéma.

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

Créer une table Demo_schema.Demo_Table (
Nom Char (64),
Id int not 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 "Pas nul" indique que IDENTIFIANT ne peut pas être vide ou nul.

Nous pouvons vérifier l'existence du tableau en utilisant la requête suivante:

$ SELECT * FROM DEMO_SCHEMA.Demo_Table;

Insérer des données dans la table

Avec la table en place, nous pouvons désormais insérer certaines valeurs:

Insérer dans Demo_schema.Demo_Table (nom, id)
VALEURS
('PQR', 45),
('Ijk', 99)
;

Vérifiez le contenu du tableau:

$ SELECT * FROM DEMO_SCHEMA.Demo_Table;

Gestion du schéma

Autorisation de schéma

Avec l'aide de l'autorisation de schéma, nous pouvons gérer quel rôle peut exécuter quelle action sur un schéma spécifique. De tous les privilèges possibles, les schémas ne soutiennent 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 sur le schéma à;

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

$ Révoquer sur le schéma à;

Vérifiez le changement en utilisant la commande suivante:

$ \ dn+

Alter les propriétés du schéma

Avec l'aide du Altérer le schéma déclaration, nous pouvons modifier les différentes propriétés d'un schéma. Par exemple: propriété, nom de schéma, etc.

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

$ Alter schéma renommez;

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

$ Propriétaire d'alter schéma à;

Notez que pour modifier la propriété, l'utilisateur actuel doit avoir le CRÉER Permission 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 mettre en doute:

$ Schéma de chute

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

$ Drop Schema Cascade;

Gestion de la table

Autorisation de table

Comme le schéma, chaque tableau est également livré avec la gestion de l'autorisation, définissant quelle action peut-elle jouer un rôle sur la table.

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

$ \ dp

Modifier les propriétés de la table

Avec l'aide du MODIFIER TABLE déclaration, nous pouvons modifier les nombreux aspects d'un tableau déjà existant.

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

$ Alter table drop colonne;

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

$ Alter table ajouter la colonne;

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

$ Alter colmonne Set compression;

Suppression d'une table

Pour supprimer une table d'un schéma, nous pouvons utiliser la requête de table de dépôt:

$ Table Drop;

Notez que contrairement aux schémas, le Table de chute La question ne produira pas une erreur, que le tableau soit vide ou non.

Conclusion

Dans ce guide, nous avons démontré comment créer les tables dans un schéma de 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 présenté 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 une réplication logique postgresql. Pour garder la base de données PostgreSQL saine, vous pouvez configurer l'Autovacuum pour nettoyer les tuples morts qui sont laissés par les enregistrements supprimés.

Pour plus de guides postgresql, consultez la sous-catégorie PostgreSQL.