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:
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:
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:
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 psqlCré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:
$ \ lEnfin, 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:
$ \ dnAlternativement, 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:
$ \ dnCré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:
Pour une démonstration, nous créons un tableau simple:
Créer une table Demo_schema.Demo_Table (Ici:
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)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 chuteSi 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:
$ \ dpModifier 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.