Installation de PostgreSQL via code source sur openEuler

Environnement de déploiement

Système d'exploitation : openEuler 22.03 LTS SP3 x86_64. Version de PostgreSQL : 15.6.

Gestionnaires de paquets shell

Dans les distributions comme Fedora et RHEL, les outils YUM et DNF facilitent la gestion des paquets RPM. YUM résout les dépendances automatiquement, tandis que DNF, son successeur, améliore les performances et la gestion des dépendances via la bibliothèque Hawkey. Sur openEuler 22.03, DNF est l'outil par défautt.

Processus d'installation de PostgreSQL

Vérifiez d'abord les sources de logiciels :

cat /etc/dnf/dnf.conf
# Ou examinez les fichiers de dépôt :
vi /etc/yum.repos.d/openEuler.repo

Installez les dépendances requises pour la compilation :

sudo dnf install -y perl-ExtUtils-Embed readline-devel python3-devel pam-devel libxml2-devel libxslt-devel openldap-devel lz4-devel llvm-devel systemd-devel openssl-devel clang-devel flex-devel bison-devel glibc-devel gcc-c++ gcc cmake net-tools tar

Les outils flex et bison sont essentiels pour l'analyse lexicale et syntaxique.

Téléchargez et extrayez les sources :

mkdir -p /home/db_admin/pg_src && cd /home/db_admin/pg_src
wget https://ftp.postgresql.org/pub/source/v15.6/postgresql-15.6.tar.gz
tar -xvf postgresql-15.6.tar.gz
mkdir -p /opt/db_data/data

Compilez et installez PostgreSQL :

cd /home/db_admin/pg_src/postgresql-15.6
./configure --prefix=/opt/db_data --with-python --with-openssl --with-libxml
make -j 4 world && make install-world

En cas d'échec, nettoyez avec make distclean.

Vérifiez l'installation :

ls -l /opt/db_data/

Les répertoires clés incluent bin (exécutables), lib (bibliothèques), et data (données).

Configuration des variables d'environnement

Créez un fichier temporaire :

echo "export PGDATA=/opt/db_data/data
export PATH=/opt/db_data/bin:$PATH" > pg_env.sh
source pg_env.sh

Pour une configuration perisstante, modifiez ~/.bash_profile.

Initialisation de la base de données

Créez un utilisateur dédié :

sudo useradd pg_user && sudo passwd pg_user
sudo chown -R pg_user:pg_user /opt/db_data/data
su pg_user
initdb -D /opt/db_data/data -U pg_user
pg_ctl start -D /opt/db_data/data -l /var/log/pg_start.log

Paramétrage de PostgreSQL

Éditez le fichier de configuration :

vi /opt/db_data/data/postgresql.conf

Modiifez les lignes suivantes :

listen_addresses = '0.0.0.0'
port = 5433
logging_collector = on
log_directory = 'logs'

Gestion du service PostgreSQL

Commandes de base :

pg_ctl start -D /opt/db_data/data
pg_ctl stop -D /opt/db_data/data -m fast
pg_ctl restart -D /opt/db_data/data
pg_ctl status -D /opt/db_data/data

Vérifiez le statut via des méthodes alternatives :

ps aux | grep postgres
pg_isready -p 5433
netstat -tlnp | grep 5433

Connexion à la base de données

Utilisez psql avec différents formats :

psql -h localhost -p 5433 -U pg_user -d postgres
psql postgresql://pg_user:password@127.0.0.1:5433/postgres

Pour quitter, tapez \q.

Commandes utiles

Consultez l'aide pour plus d'options :

pg_ctl --help
postgres --help
psql --help

Vérifiez la version installée :

psql -c "SELECT version();"
postgres --version

Étiquettes: openEuler PostgreSQL source-installation Linux compilation

Publié le 30 mai à 12h24