Breaking

lundi 26 novembre 2018

Comment installer PostgreSQL10 sur Debian 9 / Ubuntu 16.04 / Linux Mint 18

PostgreSQL (simplement appelé Postgres) est un système de gestion de base de données relationnelle (ORDBMS), disponible pour de nombreuses plates-formes, notamment Linux, Microsoft Windows, FreeBSD, HP-UX, AIX, Solaris et Mac OS. 

PostgreSQL est publié sous la licence PostgreSQL, une licence de logiciel permissive libre et à code source ouvert, développée par le PGDG (Groupe de développement mondial PostgreSQL), un groupe de volontaires et d’entreprises. 

Dans ce post, nous allons passer en revue l’installation de PostgreSQL sur Debian 9 / Ubuntu 16.04 / LinuxMint 18.

Ajouter un référentiel PostgreSQL

PostgreSQL publie des packages deb pour les plateformes basées sur debian. Leurs packages sont plus récents que ceux disponibles dans le référentiel de base du système d'exploitation.
Importez la clé de signature PostgreSQL.
wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O- | sudo apt-key add -

Ajoutez les informations du référentiel PostgreSQL au fichier /etc/apt/sources.list.d/postgresql.list.
### Debian 9 ###

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

### Ubuntu 16.04 / LinuxMint 18 ###

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

Installer PostgreSQL

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-get update

Installez PostgreSQL avec la commande apt-get.
sudo apt install -y postgresql-10

Contrôler le service PostgreSQL
 
Pour démarrer le service PostgreSQL, exécutez:
sudo systemctl start postgresql

Pour arrêter le service PostgreSQL, exécutez:
sudo systemctl stop postgresql

Pour redémarrer le service PostgreSQL, exécutez:
sudo systemctl restart postgresql

Pour vérifier le statut du service PostgreSQL, exécutez:
 postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Mon 2017-09-18 21:53:02 CDT; 1min 53s ago
 Main PID: 3673 (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/postgresql.service

Sep 18 21:53:02 mydebian systemd[1]: Starting PostgreSQL RDBMS...
Sep 18 21:53:02 mydebian systemd[1]: Started PostgreSQL RDBMS.

Accéder à PostgreSQL
 
Pour gérer la base de données, vous devez vous connecter en tant qu'utilisateur postgres.
sudo su -l postgres

Accédez à la base de données à l'aide de la commande psql. C'est un shell interactif pour travailler avec la base de données PostgreSQL.
psql

Sortie:
postgres@mydebian:~$ psql
psql (9.6.5)
Type "help" for help.

postgres=#

Base de données sécurisée PostgreSQL

Nous allons définir un mot de passe pour l'utilisateur Linux (postgres) ainsi que pour l'administrateur de la base de données (postgres).
Définir le mot de passe pour l'utilisateur Linux (postgres):
sudo passwd postgres

Sortie:
user@mydebian:~$ sudo passwd postgres
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Définir le mot de passe pour l'administrateur de la base de données (postgres):
su - postgres
psql

Sur le shell psql, exécutez la commande ci-dessous pour modifier le mot de passe de l'administrateur de la base de données.
postgres=# \password
Ou
postgres=# \password postgres

Sortie:
postgres=# \password postgres
Enter new password:
Enter it again:

Extras
 
La syntaxe pour créer une base de données est la suivante:
$ su - postgres

$ createdb test

La syntaxe pour créer un utilisateur (raj) est la suivante:
$ psql test

test=# CREATE USER raj WITH SUPERUSER LOGIN PASSWORD 'password';

Vérifiez si le nouvel utilisateur a été créé ou non.
test=# \du

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

Connectez-vous avec l'utilisateur “raj”.
psql -h localhost -d test -U raj

Sortie:
psql (9.6.5)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.

test=#

La syntaxe pour lister les bases de données:
test=# \l

Sortie:
test=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 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
 test      | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
(4 rows)

C'est tout. Vous avez correctement installé PostgreSQL 10 sur Debian 9 / Ubuntu 16.04 / LinuxMint 18.

Pages