Aller au contenu

Installation et configuration basique de Postgresql

·369 mots·2 mins
Sommaire

Dans ma petite tête de développeur, Postgresql se trouve dans le haut du panier. Je n’ai clairement pas autant l’occasion de jouer avec que je le souhaiterais, à cause d’un employeur un tantinet orienté Oracle/MSSQL, mais les quelques fois où j’ai pu la tripoter, c’était un petit plaisir.

Bref, pour ceux qui désireraient se lancer dans l’aventure (ou essayer autre chose qu’un MariaDB packagé par défaut pour du PHP), un petit tuto est disponible ici: doc.fedora-fr.org. Il couvre l’installation du service, la création d’un utilisateur, la sécurisation et l’utilisation d’un client ( pgadmin.

Installation et initialisation
#

Commencez par chercher un paquet qui ressemble à postgresql-server via votre gestionnaire préféré. Après l’installation, vous pourrez initialiser cette nouvelle instance avec la commande suivante: sudo postgresql-setup --initdb:

* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log

On démarre ensuite le service si ce n’est pas déjà fait:

$ sudo systemctl start postgresql && sudo systemctl status postgresql
[...]
Feb 12 21:13:09 aerys systemd[1]: Started PostgreSQL database server.

Après tout ceci, un utilisateur postgres a été créé au niveau système – donc au même titre que votre utilisateur à vous - il ne s’agit pas d’un compte interne à la base de données, mais bien d’un compte avec lequel vous pouvez vous connecter. Comme expliqué dans la doc et au niveau de la base de données, il s’agit de l’équivalent au super-utilisateur root. En gros, super-pouvoir, super-responsabilités et super-gaffes si vous ne faites pas un minimum attention. Allez zou, maintenant qu’on sait qu’il ne faut rien supprimer, on peut s’y connecter. On passe en root pour l’impersonnification, puis on se connecte avec le compte postgres avant de se connecter à la db avec la commande psql:

sudo su - postgres
[sudo] password for fred:
-bash-4.3$ psql
psql (9.4.5)
Type "help" for help.

postgres=#
postgres=# ALTER USER postgres WITH PASSWORD 'mot_de_passe';

Dans la mesure du possible, tapez les commandes ci-dessus plutôt que de passer par un copié/collé: psql semble avoir une tendance un peu prononcée pour l’interprétation foireuse des données copiées. Pour la sécurisation du mot de passe, il est conseillé de modifier la méthode d’identification ident en md5 dans le fichier /var/lib/pgsql/pg_hba.conf.

Documentation en rab'
#

  • Pgsql en français <http://docs.postgresqlfr.org/>_