Installer PostgreSQL + PHP 8.0.x
Après avoir installer PHP 8.0.x + MariaDB avec Debian 10 je vais installer PostreSql afin de pourvoir tester GestAssoPhp avec une base de données postgresql
Dans cette page (installation en local) linux est le nom du dossier personnel : celui qui se créer avec le nom d’utilisateur à l'installation, dans le home, donc ici /home/linux/ dans cette page. Il faut donc adapter le nom suivant votre dossier personnel. De plus les mots de passe et nom d’utilisateur sont fictif.
Uniquement pour tests et information "à vos risques et périls" ;-)
Nota suivant la distribution Linux le logiciel éditeur de texte mousepad peut être remplacer gedit, geany par ou autre possibilité à votre convenance pour l’édition des fichiers textes
Les manipulations sont faites en ligne de commande en terminal administrateur
sudo -s
(plus simple à reproduire ici)#mettre à jour éventuellement
apt-get update
apt-get upgrade
# Puis installer
apt-get install postgresql
Les paquets supplémentaires suivants seront installés :
postgresql-11 postgresql-client-11 postgresql-client-common
postgresql-common sysstat
Paquets suggérés :
postgresql-doc postgresql-doc-11 libjson-perl isag
Les NOUVEAUX paquets suivants seront installés :
postgresql postgresql-11 postgresql-client-11 postgresql-client-common
postgresql-common sysstat
Installation terminée de postgresql (11+200+deb10u4)En complément pour utiliser postgresql avec PHP 8.0.x il faut installer php8.0-pgsql
apt-get install php8.0-pgsql
Les NOUVEAUX paquets suivants seront installés :
php8.0-pgsql
Puis une fois l'installation terminée (pour relancer le serveur)
systemctl reload apache2
Contrôle avec le phpinfo.php http://localhost/phpinfo.php
l'information donnée
PDO Driver for PostgreSQL enabled
PostgreSQL(libpq) Version 11.9

Lors de l’installation, l’utilisateur « postgres » est créé automatiquement. Par défaut, le mot de passe de cet utilisateur n’est pas connu.
# Création du mot de passe
passwd postgres
Entrez le nouveau mot de passe UNIX : ici linux
Retapez le nouveau mot de passe UNIX : ici linux
passwd: password updated successfully
Pour travailler il faut commencer par se connecter ( nota étant toujours en terminal administrateur)
root@debian:/home/linux# su postgres
# Il n'y a pas à entrer le mot de passe
!! Si on était en terminal utilisateur il faudrait entrer le mot de passe ici linux
#postgres@debian:/home/linux$ psql
psql (11.9 (Debian 11.9-0+deb10u1))
Saisissez « help » pour l'aide.
postgres=# help
Vous utilisez psql, l'interface en ligne de commande de PostgreSQL.
Saisissez:
\copyright pour les termes de distribution
\h pour l'aide-mémoire des commandes SQL
\? pour l'aide-mémoire des commandes psql
\g ou point-virgule en fin d'instruction pour exécuter la requête
\q pour quitter
Il faut pour continuer les opérations de création d’utilisateur, de mot de passe et de base et de données. comme je suis en local la sécurité du mot de passe ne sera en mode sécurisée par chiffrage.
Pour cela il faut éditer le fichier /etc/postgresql/11/main/pg_hba.conf
mousepad /etc/postgresql/11/main/pg_hba.conf
et remplacer peer par password et aussi md5 par password
# Database administrative login by Unix domain socket
local all postgres peer
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer -> password
# IPv4 local connections:
host all all 127.0.0.1/32 md5 -> password
# IPv6 local connections:
host all all ::1/128 md5 -> password
# Allow replication connections from localhost, by a user with the
# replication privilege
Afin de tester le système GestAssoPhp
je vais créer un nouvel utilisateur test et un mot de passe pwuser
su postgres
# si terminal utilisateur entrer le mot de passe
Mot de passe : ici linux
createuser test
#Par défaut le nouvel utilisateur n’a pas de mot de passe, il faut donc le créer
psql -d template1 -c "alter user test with password 'pwuser'"
# Il y a donc maintenant un utilisateur test avec un mot de pass pwuser
#Création d’une base de données
La commande suivante, permet de créer la base de données gestapg pour l’utilisateur test en utilisant l’encodage UNICODE :
createdb -O test -E UNICODE gestapg
# On test
psql -l -U test
Liste des bases de données
Nom | Propriétaire | Encodage | Collationnement | Type caract. |
-----------+--------------+----------+-----------------+--------------+-
gestapg | test | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 |
postgres | postgres | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 |
template0 | postgres | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 |
template1 | postgres | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 |
(4 lignes)
Il est possible d'installer pgadmin3 pour visualiser et se se connecter à la base de données.
Mais le plus simple est d'utiliser adminer qui fonctionne avec MariaDB et PostgreSQL, donc un seul logiciel pour gérer ces bases de données.

Il ne reste plus qu'a tester l'installation et le fonctionnement de GestAssoPhp
Crédit pour les affichages en ligne de commande : Syntax highlighting for the Web
Erreurs, omissions, corrections merci de me le signaler
Original le 15/11/2020
Document http://jc.etiemble.free.fr/abc/ JCE - version du 16/11/2020-0
