Comment installer la base de données postgresql dans Debian 10

Comment installer la base de données postgresql dans Debian 10

Postgresql (Parfois appelé Postgres) est le système de base de données à usage général et d'objet d'objet le plus avancé avec une architecture éprouvée qui fonctionne sur tous les principaux systèmes d'exploitation. Il s'agit d'un système de base de données hautes performances, stable, évolutif et extensible qui fournit une intégrité des données incroyable et prend en charge de puissants modules complémentaires.

En bonne place, Postgresql vous permet de définir vos propres types de données, d'ajouter des fonctions personnalisées, même d'écrire du code à partir de différents langages de programmation tels que C / C ++, Java, etc., sans recompiller votre base de données.

Postgresql est utilisé par des sociétés technologiques bien connues telles qu'Apple, Fujitsu, Red Hat, Cisco, Juniper Network, etc.

Dans cet article, nous vous montrerons comment installer, sécuriser et configurer Postgresql serveur de bases de données dans Debian 10.

Exigence:

  1. Installez un serveur minimal Debian 10 (Buster)

Installation de PostgreSQL Server sur Debian 10

À installer Postgresql serveur de base de données, utilisez le gestionnaire de package APT par défaut, qui s'installera Postgresql 11 serveur et client.

# APT INSTALLATION POSTRESQL-11 POSTRESQL-CLIENT-11 
Installez PostgreSQL dans Debian 10

Sur Debian, Comme tout autre démon, le Postgres La base de données est initialisée immédiatement après l'installation du package terminée comme indiqué dans la capture d'écran suivante.

Initialisation de la base de données PostgreSQL

Pour vérifier si le Postgres la base de données est vraiment initialisée, vous pouvez utiliser le pg_isready utilitaire qui vérifie l'état de connexion d'un serveur postgresql, comme suit.

# pg_isready 
Vérifiez l'initialisation de la base de données

En plus, sous systemd, le Postgres Le service est également démarré automatiquement et a permis de démarrer au démarrage du système. Pour vous assurer que le service est très opérationnel, exécutez la commande suivante.

# Statut SystemCTL PostgreSQL 
Vérifiez l'état de PostgreSQL

Voici d'autres commandes SystemCTL utiles pour gérer le service Postgres sous SystemD.

# systemctl start postgresql # systemctl redémarrage postgresql # systemctl stop postgresql # systemctl reload postgresql # this recharger la configuration du service 

Sécurisation et configuration de la base de données PostgreSQL

Par défaut, le Postgres Utilise le concept de rôles pour gérer les autorisations d'accès à la base de données et les rôles de base de données sont conceptuellement complètement séparés des utilisateurs du système d'exploitation. Un rôle peut être un utilisateur ou un groupe, et un rôle qui a le droit de connexion est appelé utilisateur.

Un système fraîchement initialisé contient toujours un rôle prédéfini appelé postgres, il a le même nom que le compte d'utilisateur du système d'exploitation appelé postgres, qui est utilisé pour accéder au PSQL (Shell Postgres) et d'autres programmes de base de données.

Le compte d'utilisateur du système Postgres n'est pas protégé à l'aide d'un mot de passe, pour le sécuriser, vous pouvez créer un mot de passe à l'aide du Utilitaire Passwd.

# Passwd Postgres 
Définir le mot de passe pour l'utilisateur de Postgres

Également Postgres L'utilisateur de la base de données du rôle (ou administratif si vous le souhaitez) n'est pas sécurisé par défaut. Vous devez également le sécuriser avec un mot de passe. Maintenant passer au postgres compte d'utilisateur système et postgres Rôle (n'oubliez pas de définir un mot de passe fort et sécurisé) comme indiqué.

# su - Postgres # psql -c "Alter user Postgres avec mot de passe 'SecurePass_here';" 
Rôle d'administration postgres sécurisé

Puis sortez le postgres compte pour poursuivre le guide.

Configuration de l'authentification client

Le principal Postgres Le fichier de configuration est situé à / etc / postgresql / 11 / main / postgresql.confli. En plus de ce fichier, Postgres utilise deux autres fichiers de configuration édits manuellement, qui contrôlent l'authentification du client.

L'authentification du client est contrôlée par le / etc / postgresql / 11 / main / pg_hba.confli fichier de configuration. Postgres fournit de nombreuses méthodes d'authentification client différentes, y compris l'authentification basée sur le mot de passe. Les connexions clients sont authentifiées en fonction de l'adresse hôte du client, de la base de données et de l'utilisateur.

Si vous choisissez d'utiliser Authentification basée sur le mot de passe, Vous pouvez implémenter l'une de ces méthodes: MD5 ou mot de passe qui fonctionnent de manière similaire, sauf pour la façon dont le mot de passe est transmis à travers la connexion, à savoir MD5 et le texte clair respectivement.

En utilisant Authentification du mot de passe MD5 Avertit le mot de passe reniflant par les pirates et évite le stockage de mots de passe sur le serveur en texte brut. La méthode du mot de passe ne peut être utilisée en toute sécurité que si la connexion est protégée par le cryptage SSL.

Pour ce guide, nous montrerons comment configurer Authentification du mot de passe MD5 pour l'authentification du client.

# vim / etc / postgresql / 11 / main / pg_hba.confli 

Recherchez la ligne suivante et modifiez la méthode d'authentification en md5 Comme indiqué dans la capture d'écran.

local tous tous MD5 
Configurer la méthode d'authentification client

Enregistrez les modifications dans le fichier et sortez-le. Puis appliquez les changements récents en redémarrant le Postgres service comme suit.

# SystemCTL Redémarrer PostgreSQL 

Création d'une nouvelle base de données et d'un rôle / utilisateur de base de données dans PostgreSQL

Dans cette dernière section, nous montrerons comment créer un nouvel utilisateur de base de données et un rôle de base de données pour le gérer. Tout d'abord, passez au postgres rendre compte et ouvrir la coque Postgres comme suit.

# su - Postgres $ psql 

Pour créer une base de données appelée «Test_db» Exécutez la commande SQL suivante.

postgres = # Créer une base de données test_db; 

Créez ensuite un utilisateur de base de données (un rôle avec les droits de connexion) qui gérera la nouvelle base de données comme suit.

Postgres = # Créer un mot de passe Test_User "[Protégé par e-mail] _Here '; #ASSUmes Fonction de connexion par défaut 

Pour se connecter au test_db En tant qu'utilisateur test_user, Exécutez la commande suivante.

 $ psql -d test_db -u test_user 
Créer une nouvelle base de données Postgres

Pour plus d'informations, consultez la documentation de PostgreSQL 11.

Conclusion

C'est si pour l'instant! Dans ce guide, nous avons montré comment installer, sécuriser et configurer Postgresql serveur de bases de données dans Debian 10. Avez-vous une question ou des pensées à partager? Utilisez le formulaire de commentaire ci-dessous pour nous joindre.