Prochaine révision | Révision précédente |
serveurs:installation:db-srv:postgresql-postgis [2020/02/13 14:27] – créée jpmilcent | serveurs:installation:db-srv:postgresql-postgis [2024/02/09 17:53] (Version actuelle) – [Ajout du dépôt Postgresql] jpmilcent |
---|
====== Installer Postgresql 11 et Postgis 3 ====== | ====== Installer Postgresql et Postgis ====== |
* Supprimer l'éventuelle ancienne version : | |
* Lister les paquets Postgresql éventuellement déjà installé : ''dpkg -l | grep postgres'' | ===== Ajout du dépôt Postgresql ===== |
* Supprimer les paquets Postgresql et **ses fichiers de configuration** : ''aptitude purge <liste-des-paquets-précédement-listés'' | * Ajout des dépôts //Postgresql// pour //Debian// : ''<nowiki> sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/postgresql.list'</nowiki>'' |
* Ajout des dépôts Postgresql : ''<nowiki>sudo bash -c "echo deb http://apt.postgresql.org/pub/repos/apt/ buster-pgdg main >> /etc/apt/sources.list.d/pgdg.list"</nowiki>'' | * Ajout de la clé du dépôt : ''<nowiki> wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - </nowiki>'' |
* Ajout de la clé du dépôt : ''<nowiki>wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -</nowiki>'' | * Mise à jour des dépôts : ''apt -y update'' |
* Mise à jour des dépôts : ''apt -y update'' | |
* Installer Postgresql 11 & Postgis 3 : | ===== Installer Postgresql et Postgis ===== |
* Paquets de base : ''aptitude install postgresql-11 postgresql-11-postgis-3 postgresql-server-dev-11'' | * Supprimer une éventuelle ancienne version : |
* Installer Postgis sans les paquets recommandés : ''<nowiki>aptitude install --without-recommends postgis</nowiki>'' | * Lister les paquets //Postgresql// éventuellement déjà installé : ''dpkg -l | grep postgres'' |
| * Supprimer les paquets Postgresql et **ses fichiers de configuration** : ''apt purge <liste-des-paquets-précédement-listés>'' |
| * Installer //Postgresql 15// et //Postgis 3// : |
| * Paquets de base : ''apt install postgresql-15 postgresql-15-postgis-3'' |
| * Installer //Postgis// sans les paquets recommandés : ''<nowiki> apt-get install --no-install-recommends postgis </nowiki>'' |
* Vérifier l'état du service : ''systemctl status postgresql'' | * Vérifier l'état du service : ''systemctl status postgresql'' |
* Redémarrer le service si nécessaire : ''systemctl restart postgresql'' | * Redémarrer le service si nécessaire : ''systemctl restart postgresql'' |
* Activer le service au démarrage du serveur : ''systemctl enable postgresql'' | * Activer le service au démarrage du serveur : ''systemctl enable postgresql'' |
* Accéder aux bases depuis son poste local par tunel SSH : | |
* Dans PgAdmin/DBeaver, ajouter un serveur et dans l'onglet //SSH Tunnel// remplir les infos (login & mot de passe) pour l'utilisateur //geonat// | ===== Installer Pg-Activity ===== |
* Note concernant le service Systemd Postgresql : | * Pg-Activity est l'équivalant pour Postgresql de ''htop'' pour le système. |
* Il en existe plusieurs visible avec la commande : ''systemctl status postgresql*'' | * Installer le paquet : ''apt install pg-activity'' |
* C'est le service nommé //postgresql@11-main.service// qui correspond au daemon lancé par le service //postgresql.service// | * Pour visualiser les infos liées à Postgresql et les requêtes (en cours, en attente, bloquantes) : ''sudo -u postgres pg_activity -U postgres'' |
* Pour l'affichage dans Grafana, utiliser celui nommé : //postgresql@11-main.service// | * Ajouter dans le fichier ''~/.bash_aliases'' des utilisateurs //admin// et //root// l'alias ''pga'' : '' vi ~/.bash_aliases '' <code bash>alias pga='sudo -u postgres pg_activity -U postgres'</code> |
| |
| ==== Commandes et requêtes affichant les requêtes actives ==== |
| * Trouver les requêtes en cours de traitement depuis très longtemps : <code sql> |
| SELECT |
| pid, |
| now() - pg_stat_activity.query_start AS duration, |
| query, |
| state |
| FROM pg_stat_activity |
| WHERE (now() - pg_stat_activity.query_start) > interval '5 minutes'; |
| </code> |
| * Forcer l'arrêt d'une requête de manière relativement sûre (remplacer ''<pid>'' par le nombre fourni par la requête précédente) : <code sql>SELECT pg_cancel_backend(<pid>);</code> |
| |
| ===== Accès aux bases via tunnel SSH ===== |
| Pour accéder aux bases depuis son poste local, nous pouvons utiliser un tunnel //SSH// : |
| * Dans //PgAdmin/DBeaver//, ajouter un serveur et dans l'onglet //SSH Tunnel// remplir les infos (login & mot de passe) pour l'utilisateur //geonat// |
| |
| ===== Note concernant le service Systemd Postgresql ===== |
| * Il en existe plusieurs visible avec la commande : ''systemctl status postgresql*'' |
| * C'est le service nommé //postgresql@11-main.service// qui correspond au //daemon// lancé par le service //postgresql.service// |
| * Pour l'affichage dans //Grafana//, utiliser celui nommé : //postgresql@11-main.service// |