GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer PostgreSQL sur Debian 11 / Debian 10

PostgreSQL (souvent abrégé en Postgres) est un système de gestion de base de données relationnelle objet (ORDBMS) mettant l'accent sur l'extensibilité et la conformité aux normes.

Il bénéficie de plus de 30 ans de développement actif et d'une architecture éprouvée qui lui a valu une solide réputation en matière de fiabilité, d'intégrité des données et de performances.

PostgreSQL est publié sous la licence PostgreSQL et est disponible pour Linux, Microsoft Windows, FreeBSD, OpenBSD et macOS.

Dans cet article, nous verrons comment installer PostgreSQL sur Debian 11 / Debian 10.

Ajouter un référentiel PostgreSQL

PostgreSQL publie des packages pour le système d'exploitation Debian via leur référentiel dédié, et les packages de leur référentiel sont plus récents que ceux disponibles dans le référentiel du système d'exploitation.

Tout d'abord, mettez à jour l'index du référentiel à l'aide de apt commande

sudo apt update

Ensuite, installez le support HTTPS pour apt afin d'obtenir des packages sur Internet.

sudo apt install -y curl apt-transport-https

Maintenant, importez la clé de signature PostgreSQL.

# Debian 11

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /usr/share/keyrings/postgresql-keyring.gpg

# Debian 10

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

Enfin, ajoutez les informations du référentiel PostgreSQL au système avec la commande ci-dessous.

# Debian 11

echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.gpg] http://apt.postgresql.org/pub/repos/apt/ bullseye-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

# Debian 10

echo "deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main" | sudo tee /etc/apt/sources.list.d/postgresql.list

Installer PostgreSQL sur Debian

Une fois que vous avez ajouté le référentiel PostgreSQL, exécutez la commande suivante pour mettre à jour l'index du référentiel.

sudo apt update

Ensuite, installez PostgreSQL à l'aide de la commande ci-dessous en fonction de la version de PostgreSQL que vous souhaitez installer.

# PostgreSQL 13

sudo apt install -y postgresql-13

# PostgreSQL 12

sudo apt install -y postgresql-12

À présent, le service PostgreSQL sera opérationnel. Vous pouvez vérifier l'état du service avec la commande ci-dessous.

sudo systemctl status postgresql

Sortie :

 postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2021-09-15 14:19:30 CDT; 42s ago
 Main PID: 3759 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 2343)
   Memory: 0B
   CGroup: /system.slice/postgresql.service

Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Starting PostgreSQL RDBMS...
Sep 15 14:19:30 debian.itzgeek.local systemd[1]: Started PostgreSQL RDBMS.

Configurer le serveur PostgreSQL

Par défaut, PostgreSQL écoute sur l'hôte local (127.0.0.1), ce que vous ne voudrez peut-être pas toujours car des applications externes peuvent avoir besoin de se connecter à la base de données. Nous allons donc configurer PostgreSQL pour écouter l'adresse IP du système.

# PostgreSQL 13

sudo nano /etc/postgresql/13/main/postgresql.conf

# PostgreSQL 12

sudo nano /etc/postgresql/12/main/postgresql.conf

Définissez les listen_addresses à * ou <IPAddress> .

listen_addresses = '192.168.0.10'

Redémarrez le service PostgreSQL.

sudo systemctl restart postgresql

Vous pouvez maintenant utiliser le netstat commande pour confirmer si PostgreSQL écoute sur le port 5432 ou non.

sudo netstat -antup | grep 5432

Sortie :

tcp        0      0 192.168.0.10:5432       0.0.0.0:*               LISTEN      5265/postgres

LIRE :commande netstat introuvable sur Debian – Solution rapide

Accéder à PostgreSQL

Pour gérer la base de données PostgreSQL, vous devrez vous connecter en tant que postgres (utilisateur Linux) et doivent ensuite accéder au shell de la base de données en utilisant le psql commande.

sudo -u postgres psql

Sortie :

postgres@server:~$ psql
psql (13.4 (Debian 13.4-1.pgdg100+1))
Type "help" for help.

postgres=#

Sur psql shell, exécutez la commande ci-dessous pour modifier le postgres utilisateur (mot de passe administrateur de la base de données.

postgres=# \password

OU

postgres=# \password postgres

Créer une base de données et un utilisateur PostgreSQL

Tout d'abord, créez un utilisateur de base de données avec la commande ci-dessous.

CREATE USER mydb_user WITH ENCRYPTED PASSWORD 'password';

Ensuite, créez une base de données avec la commande ci-dessous.

CREATE DATABASE mydb WITH OWNER mydb_user;

Ensuite, vous pouvez accorder des privilèges à mydb_user sur la base de données nouvellement créée.

GRANT ALL PRIVILEGES ON DATABASE mydb TO mydb_user;

Maintenant, vérifiez si l'utilisateur a été créé ou non.

postgres=# \du

Sortie :

postgres=# \du
                                   List of roles
 Role name |                         Attributes                         | Member of
-----------+------------------------------------------------------------+-----------
 mydb_user |                                                            | {}
 postgres  | Superuser, Create role, Create DB, Replication, Bypass RLS | {}

postgres=#

En outre, vous pouvez répertorier les bases de données pour voir si votre base de données mydb a été créé.

postgres=# \l

Sortie :

postgres=# \l
                                   List of databases
   Name    |   Owner   | Encoding |   Collate   |    Ctype    |    Access privileges
-----------+-----------+----------+-------------+-------------+-------------------------
 mydb      | mydb_user | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =Tc/mydb_user          +
           |           |          |             |             | mydb_user=CTc/mydb_user
 postgres  | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres            +
           |           |          |             |             | postgres=CTc/postgres
 template1 | postgres  | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres            +
           |           |          |             |             | postgres=CTc/postgres
(4 rows)

postgres=#

Enfin, connectez-vous à mydb avec l'utilisateur de la base de données mydb_user .

psql -h localhost -d mydb -U mydb_user

Sortie :

Password for user mydb_user:
psql (13.4 (Debian 13.4-1.pgdg110+1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)
Type "help" for help.

mydb=>

Conclusion

C'est tout. J'espère que vous avez appris à installer PostgreSQL sur Debian 11 / Debian 10.


Debian
  1. Comment installer Tomcat 8.5 sur Debian 9

  2. Comment installer MongoDB sur Debian 9

  3. Comment installer PostgreSQL sur Debian 9

  4. Comment installer Nginx sur Debian 9

  5. Comment installer PostgreSQL 11 / 10 sur Debian 9 et Debian 8

Comment installer Gitea avec PostgreSQL sur Debian 11

Comment installer PostgreSQL sur Debian 11

Comment installer Go sur Debian 11

Comment installer phpPgAdmin sur Debian 11

Comment installer Odoo sur Debian 11

Comment installer PostgreSQL sur Debian 11 ?