Database
 sql >> Base de données >  >> RDS >> Database

Tâches Postgres courantes sur CentOS 7

Ce guide vous guide à travers certaines tâches courantes concernant un serveur Postgres. Dans ce didacticiel, nous aborderons l'installation de Postgres, la création de nouvelles bases de données et d'utilisateurs, la sauvegarde de bases de données, et plus encore ! Creusons !

Remarque :Le reste de ce didacticiel nécessite que vous ayez root privilèges. Commencez par vous connecter en tant que root ou préfixez ces commandes avec sudo .

Installer PostgreSQL

L'installation de Postgres est simple dans notre serveur VPS CentOS, grâce au gestionnaire de packages YUM. Exécutez la commande suivante pour installer Postgres sur votre système :

yum install -y postgres-server

Configurer PostreSQL

Maintenant que Postgres est installé, il est temps de configurer le service. Tout d'abord, Postgres vous oblige à initialiser une base de données avant de pouvoir l'utiliser. Heureusement, ils fournissent une commande pour nous faciliter cette étape :

postgres-setup initdb

Nous configurerons Postgres pour qu'il démarre automatiquement au démarrage de votre serveur. Exécutez la commande suivante pour activer le service au démarrage :
systemctl enable postgres

Ensuite, nous allons démarrer le service. La commande suivante démarrera Postgres s'il n'est pas déjà en cours d'exécution :
systemctl start postgres

Enfin, nous vérifions que Postgres est en cours d'exécution après le redémarrage :
service postgres status

La sortie doit afficher actif (en cours d'exécution), ce qui indique que le service est opérationnel et que nous sommes prêts à continuer !

Création d'une nouvelle base de données et ajout d'un nouvel utilisateur

Postgres s'exécute en tant qu'utilisateur "postgres" sur votre système CentOS Linux, et non en tant que "root". Ceci est important à noter car vous ne pouvez pas interagir avec Postgres en tant que root.

Tout d'abord, passons au "postgres " utilisateur. Cet utilisateur a été créé automatiquement dans votre système lorsque nous avons installé Postgres.
su - postgres

Ensuite, nous allons créer une nouvelle base de données. Nous l'appelons "mydatabase ” dans notre exemple, mais n'hésitez pas à lui donner le nom que vous voulez.
createdb mydatabase

Maintenant, nous allons ajouter un nouvel utilisateur pour cette base de données. Dans cet exemple, nous utilisons le nom d'utilisateur "myusername ”, mais vous pouvez le nommer comme bon vous semble.
createuser myusername

Accorder des autorisations à la base de données PostgreSQL

Jusqu'à présent, nous avons installé Postgres, créé une nouvelle base de données et créé un nouvel utilisateur pour accéder à la base de données. Il ne reste qu'une seule étape, et c'est d'accorder des autorisations afin que notre nouvel utilisateur soit autorisé à accéder à la base de données. Pour démarrer ce processus, nous devons d'abord entrer dans le "postgres shell". Saisissez la commande suivante :
psql

Après avoir appuyé sur Entrée, vous devriez remarquer que votre invite de commande a changé, indiquant que vous êtes maintenant dans le shell Postgres.
psql (9.2.24)
Type “help” for help.
postgres =#

À partir de là, nous pouvons maintenant ajouter des autorisations pour que notre nouvel utilisateur accède à la base de données. Entrez la commande suivante pour définir un mot de passe pour notre utilisateur. Il y a peu de choses à noter. Tout d'abord, les guillemets simples autour du mot de passe sont obligatoires ! Deuxièmement, assurez-vous de remplacer l'exemple my_secure_password pour un mot de passe sécurisé légitime ! Enfin, assurez-vous d'inclure le point-virgule à la fin de l'instruction. C'est facile à manquer !
alter username myusername with encrypted password ‘my_secure_password’;
Postgres devrait répondre avec le texte suivant vous indiquant qu'il a réussi.
ALTER ROLE

Maintenant que le mot de passe a été créé, nous allons définir les autorisations sur la base de données. Cela permettra à myusername d'accéder à mydatabase.
grant all privileges on database mydatabase to myusername;
Postgres répondra avec le texte suivant si la commande a réussi.
GRANT

Vérifions notre travail et vérifions que la base de données apparaît dans Postgres. Depuis le shell, exécutez le \list commande et observez attentivement la sortie. Vous devriez voir "mabase de données ” dans la liste des bases de données.

Avaient fini! Entrez la commande suivante pour quitter le shell Postgres.
\quit

Comment sauvegarder une base de données PostgreSQL

Il existe plusieurs façons de sauvegarder une base de données Postgres. Pour notre exemple d'aujourd'hui, nous allons vous montrer comment utiliser l'excellent "pg_dump ", qui génère l'intégralité de votre base de données dans un seul fichier. Créer des sauvegardes est un jeu d'enfant ! Exécutez la commande suivante pour sauvegarder notre base de données. Notez que nous avons utilisé le nom "mydatabase.bak ” dans notre exemple, mais vous pouvez nommer votre fichier de sauvegarde comme bon vous semble.
pg_dump mydatabase > mydatabase.bak

Vous pouvez maintenant facilement copier ou déplacer ce fichier où vous souhaitez stocker des sauvegardes. Dans le cadre des meilleures pratiques, nous vous suggérons fortement de stocker vos sauvegardes sur un disque de sauvegarde dédié, distinct du lecteur de votre système d'exploitation. De cette façon, vos sauvegardes sont sûres et saines, même dans le cas improbable d'un plantage du système.

Comment supprimer une base de données PostgreSQL

La suppression d'une base de données est un processus simple. Il vous faut d'abord accéder au shell Postgres. Un petit rappel que vous pouvez accéder au shell Postgres avec la commande suivante :
psql
À partir de là, il suffit d'une seule commande pour supprimer la base de données. Supprimons notre exemple de base de données.
drop database mydatabase
Postgres confirmera le succès avec le message suivant :
DROP DATABASE
Remarque :Si vous spécifiez une base de données qui n'existe pas, Postgres répondra avec l'erreur suivante :
ERROR: database “my_other_database” does not exist
Vous pouvez vérifier que la base de données est supprimée en utilisant la \list commande dans le shell Postgres. Observez la sortie, et vous devriez remarquer que "mydatabase ” a été supprimé de la liste des bases de données.

Comment restaurer une base de données PostgreSQL à partir de sauvegardes

Maintenant que nous avons supprimé notre base de données appelée "mydatabase ", Voyons comment restaurer cette base de données à partir de la sauvegarde que nous avons créée. Tout d'abord, nous devons utiliser un modèle vide pour héberger la base de données restaurée. Assurez-vous d'exécuter la commande suivante en tant qu'utilisateur Postgres et à partir du shell BASH (et non du shell Postgres !)
createdb -T template0 mydatabase

Maintenant que nous avons notre espace réservé de modèle, nous pouvons importer des données.
psql mydatabase < /path/to/mydatabase.bak
La base de données est maintenant restaurée. Si vous exécutez \list à nouveau depuis le shell Postgres, vous verrez "mydatabase" réapparaître dans notre liste de bases de données !

Félicitations pour être arrivé à la fin de cet épisode. Nous avons couvert beaucoup de terrain dans ce tutoriel! Nous n'avons fait qu'effleurer ce sujet, et vous pouvez déjà commencer à comprendre pourquoi les administrateurs de bases de données occupent des postes dédiés dans de nombreuses entreprises ! Heureusement, Liquid Web est là pour vous aider avec tous vos besoins en matière de base de données. Notre équipe de pros peut vous conseiller et gérer vos bases de données. Écrivez-nous si vous avez des questions, et merci d'avoir lu !