Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| linux:postgresql [25-09-2018 13:00] – [Backup] edmc73 | linux:postgresql [23-03-2023 13:57] (Version actuelle) – [Taille] edmc73 | ||
|---|---|---|---|
| Ligne 49: | Ligne 49: | ||
| 0.0.0.0/0 correspond à toutes les ip possibles | 0.0.0.0/0 correspond à toutes les ip possibles | ||
| + | ==== Le type d' | ||
| - | Redémarrez le serveur | + | * https:// |
| - | service postgresql restart | + | |
| + | Indique la méthode d' | ||
| + | |||
| + | === trust === | ||
| + | Autorise la connexion sans condition. Cette méthode permet à quiconque peut se connecter au serveur de bases de données de s' | ||
| + | |||
| + | === reject === | ||
| + | Rejette la connexion sans condition. Ce cas est utile pour « filtrer » certains hôtes d'un groupe, par exemple une ligne reject peut bloquer la connexion d'un hôte spécifique alors qu'une ligne plus bas permettra aux autres hôtes de se connecter à partir d'un réseau spécifique. | ||
| + | |||
| + | === scram-sha-256 === | ||
| + | Réalise une authentification SCRAM-SHA-256 afin de vérifier le mot de passe utilisateur. Voir Section 20.3.2, « Authentification par mot de passe » pour les détails. | ||
| + | |||
| + | === md5 === | ||
| + | Réalise une authentification SCRAM-SHA-256 ou MD5 afin de vérifier le mot de passe utilisateur. Voir Section 20.3.2, « Authentification par mot de passe » pour les détails. | ||
| + | |||
| + | === password === | ||
| + | Requiert que le client fournisse un mot de passe non chiffré pour l' | ||
| + | |||
| + | === gss === | ||
| + | Utilise GSSAPI pour authentifier l' | ||
| + | |||
| + | === sspi === | ||
| + | Utilise SSPI pour authentifier l' | ||
| + | |||
| + | === ident === | ||
| + | Récupère le nom de l' | ||
| + | |||
| + | === peer === | ||
| + | Récupère le nom d' | ||
| + | |||
| + | === ldap === | ||
| + | Authentification par un serveur LDAP. Voir la Section 20.3.7, « Authentification LDAP » pour les détails. | ||
| + | |||
| + | === radius === | ||
| + | Authentification par un serveur RADIUS. Voir Section 20.3.8, « Authentification RADIUS » pour les détails. | ||
| + | |||
| + | === cert === | ||
| + | Authentification par certificat client SSL. Voir Section 20.3.9, « Authentification de certificat » pour les détails. | ||
| + | |||
| + | === pam === | ||
| + | Authentification par les Pluggable Authentification Modules (PAM) fournis par le système d' | ||
| + | |||
| + | === bsd === | ||
| + | Authentification utilisant le service BSD Authentication fourni par le système d' | ||
| + | |||
| + | |||
| + | Redémarrez ou rechargez le serveur postgresql | ||
| + | service postgresql restart | ||
| + | ou | ||
| + | systemctl reload postgresql-9.6.service | ||
| ==== utilisateur, | ==== utilisateur, | ||
| Ligne 79: | Ligne 128: | ||
| Se connecter en utilisant TCP/IP (psql utilise par défaut un socket UNIX). | Se connecter en utilisant TCP/IP (psql utilise par défaut un socket UNIX). | ||
| - | $ psql -h localhost -p 5432 nom_de_la_bd | + | $ psql -h localhost -p 5432 -U rickastley -W nom_de_la_bd |
| Demander à psql de nous demander le mot de masse: | Demander à psql de nous demander le mot de masse: | ||
| - | $ psql -W nom_de_la_bd | + | $ psql -U rickastley |
| Password: | Password: | ||
| Ligne 105: | Ligne 154: | ||
| ===== Taille ===== | ===== Taille ===== | ||
| + | |||
| + | Connaître la taille de toutes les bases et trier par la plus grosse. | ||
| + | <code sql> | ||
| + | SELECT pg_database.datname, | ||
| + | pg_size_pretty(pg_database_size(pg_database.datname)) AS size , pg_database_size(pg_database.datname) as octets | ||
| + | FROM pg_database order by octets desc; | ||
| + | </ | ||
| Connaître la taille d'une base | Connaître la taille d'une base | ||
| Ligne 175: | Ligne 231: | ||
| --- https:// | --- https:// | ||
| + | |||
| + | |||
| + | Option de pg_restore | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | |||
| Backup: (-Fc est un format compressé qui prend donc moins de place) | Backup: (-Fc est un format compressé qui prend donc moins de place) | ||
| Ligne 198: | Ligne 270: | ||
| $ pg_dump --table products -U geekstuff article -f onlytable.sql | $ pg_dump --table products -U geekstuff article -f onlytable.sql | ||
| $ pg_dump --table products -U geekstuff article -Fc -f onlytable.backup | $ pg_dump --table products -U geekstuff article -Fc -f onlytable.backup | ||
| + | |||
| + | |||
| + | Autre facon de faire un backup sous forme de fichier | ||
| + | |||
| + | pg_dump -Fd -f dbName_objects -j 10 -t ' | ||
| + | |||
| + | Cette commande utilise '' | ||
| + | '' | ||
| + | '' | ||
| + | '' | ||
| + | |||
| + | L' | ||
| + | |||
| + | Utilisez la commande suivante pour voir la correspondance | ||
| + | |||
| + | pg_restore --list -Fd dbName_objects/ | ||
| + | |||
| + | in order to have each file not compressed (in raw SQL) | ||
| + | |||
| + | pg_dump --data-only --compress=0 --format=directory --file=dbName_objects --jobs=10 --table=' | ||
| + | | ||
| + | Sinon un script bash qui boucle sur la liste des tables | ||
| + | |||
| + | <code bash> | ||
| + | #!/bin/bash | ||
| + | |||
| + | # Config: | ||
| + | DB=rezopilotdatabase | ||
| + | U=postgres | ||
| + | # tablename searchpattern, | ||
| + | P="" | ||
| + | # directory to dump files without trailing slash: | ||
| + | DIR=~/ | ||
| + | |||
| + | mkdir -p $DIR | ||
| + | TABLES=" | ||
| + | information_schema.tables WHERE table_type=' | ||
| + | LIKE ' | ||
| + | for table in $TABLES; do | ||
| + | echo backup $table ... | ||
| + | pg_dump $DB -U $U -w -t $table > $DIR/ | ||
| + | done; | ||
| + | echo done | ||
| + | </ | ||
| + | |||
| ===== pg_dump to mysql ===== | ===== pg_dump to mysql ===== | ||
| Ligne 217: | Ligne 334: | ||
| Se connecter au serveur | Se connecter au serveur | ||
| + | su postgres | ||
| + | psql | ||
| + | ou | ||
| psql postgres | psql postgres | ||
| Puis lancer la requête | Puis lancer la requête | ||
| - | <code sql> | + | <code sql> |
| + | Version 9.1 | ||
| + | SELECT datname, | ||
| + | |||
| + | <code sql> | ||
| + | Version 9.6 | ||
| + | SELECT datname, | ||
| + | |||
| + | <code sql> | ||
| + | Version 11 | ||
| + | SELECT datname, | ||
| + | |||
| + | Repérer le PID qui vous intéresse puis terminez la requête | ||
| + | SELECT pg_cancel_backend(PID); | ||
| + | ou tuez la | ||
| + | SELECT pg_terminate_backend(PID); | ||
| ===== Requête sur un caractère spécial ===== | ===== Requête sur un caractère spécial ===== | ||
| Ligne 262: | Ligne 397: | ||
| </ | </ | ||
| + | Alternative | ||
| + | |||
| + | <code sql> | ||
| + | ALTER SEQUENCE meteo_id_seq RESTART WITH 1453 | ||
| + | </ | ||
| ===== postgis ===== | ===== postgis ===== | ||
| Ligne 268: | Ligne 408: | ||
| Activation dans postgres, se connecter avec psql ou pgadmin et lancer la requête sql | Activation dans postgres, se connecter avec psql ou pgadmin et lancer la requête sql | ||
| + | |||
| + | psql -d nom_bdd | ||
| Enable PostGIS (includes raster) | Enable PostGIS (includes raster) | ||
| Ligne 273: | Ligne 415: | ||
| Enable Topology | Enable Topology | ||
| CREATE EXTENSION postgis_topology; | CREATE EXTENSION postgis_topology; | ||
| + | |||
| + | |||
| + | Sinon à la main, retrouvez tous les fichiers sql à importer dans: | ||
| + | / | ||
| + | psql -d madatabase -f ....../ | ||
| + | |||
| + | Doc => http:// | ||
| A tester => http:// | A tester => http:// | ||
| + | |||
| + | |||
| + | https:// | ||
| + | UPDATE pg_extension SET extrelocatable = TRUE WHERE extname = ' | ||
| + | |||
| + | |||
| + | Pour tester si postgis fonctionne et voir sa version | ||
| + | select postgis_version() | ||
| ===== Outils de backup ===== | ===== Outils de backup ===== | ||
| Ligne 284: | Ligne 441: | ||
| * http:// | * http:// | ||
| * http:// | * http:// | ||
| + | |||
| + | |||
| + | ===== Analiser une requete ===== | ||
| + | |||
| + | <code sql> | ||
| + | begin; | ||
| + | explain (analyze, | ||
| + | delete from mydata where id=' | ||
| + | rollback; | ||
| + | </ | ||
| + | |||
| + | ===== Point de vigilance ===== | ||
| + | |||
| + | La fonction SUM() peut retourner une valeur arrondie | ||
| + | |||
| + | Dans ce cas, caster le champ en décimal | ||
| + | SUM( colonne:: | ||