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=# \passwordOu
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.