- Localisation du fichier de configuration
- Rechercher le chemin du répertoire de données
- Configuration de PostgreSQL pour générer une sortie de journal
- Redémarrer le service PostgreSQL
- Vérification de la génération de journaux
L'activation de la journalisation dans PostgreSQL est rendue assez facile en modifiant une poignée de paramètres de configuration, puis en redémarrant le serveur. Bien que ces paramètres puissent être modifiés "en mémoire", permettant ainsi une journalisation temporaire uniquement pour cette session client particulière, dans ce didacticiel, nous expliquerons comment configurer postgres pour créer en permanence des fichiers journaux itératifs pour toutes les sessions et connexions.
Localisation du fichier de configuration
Si vous ne savez pas où se trouve le fichier postgresql.conf
config est localisé, la méthode la plus simple pour trouver l'emplacement est de se connecter au client postgres (psql
) et émettez le SHOW config_file;
commande :
postgres=# SHOW config_file;
config_file
------------------------------------------
/etc/postgresql/9.3/main/postgresql.conf
Dans ce cas, nous pouvons voir le chemin vers le postgresql.conf
le fichier pour ce serveur est /etc/postgresql/9.3/main/postgresql.conf
. Maintenant, ouvrez simplement ce fichier avec votre éditeur de texte préféré et nous pourrons commencer à modifier les paramètres :
$ nano /etc/postgresql/9.3/main/postgresql.conf
Rechercher le chemin du répertoire de données
C'est aussi une bonne idée de confirmer le chemin des data
répertoire pour votre installation de postgres. Cela sera utile plus tard, et récupérer le chemin est une question d'un autre simple SHOW
déclaration :
postgres=# SHOW data_directory;
data_directory
------------------------------
/var/lib/postgresql/9.3/main
Sur certaines installations, le fichier de configuration et les data
répertoire sera le long du même chemin, tandis que dans d'autres (comme cet exemple), ils sont différents. Dans tous les cas, copiez ces data
chemin du répertoire pour une utilisation ultérieure.
Configuration de PostgreSQL pour générer une sortie de journal
Avec le postgresql.conf
fichier ouvert, faites défiler jusqu'à ERROR REPORTING AND LOGGING
section et vous verrez probablement un certain nombre d'options de configuration commentées. Les plus critiques de ces paramètres sont log_destination
et logging_collector
. Vous trouverez ci-dessous les paramètres recommandés, mais n'hésitez pas à les modifier en fonction de vos besoins :
#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------
# - Where to Log -
log_destination = 'csvlog' # Valid values are combinations of
# stderr, csvlog, syslog, and eventlog,
# depending on platform. csvlog
# requires logging_collector to be on.
# This is used when logging to stderr:
logging_collector = on # Enable capturing of stderr and csvlog
# into log files. Required to be on for
# csvlogs.
# (change requires restart)
# These are only used if logging_collector is on:
log_directory = 'pg_log' # directory where log files are written,
# can be absolute or relative to PGDATA
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
# can include strftime() escapes
Ici, nous disons à postgres de générer des journaux dans le CSV
format et de les sortir dans le pg_log
répertoire (dans le répertoire data
annuaire). Nous avons également décommenté le log_filename
paramètre pour produire un nom propre, y compris des horodatages pour les fichiers journaux.
Vous pouvez trouver des informations détaillées sur tous ces paramètres dans la official documentation
.
Redémarrer le service PostgreSQL
La dernière étape consiste à redémarrer le service PostgreSQL afin que ces paramètres, en particulier logging_collector
, prendra effet. L'exécution d'un redémarrage postgres diffère d'un système à l'autre, mais généralement pour un système Unix, la commande ressemblera à ceci :
$ service postgresql restart
* Restarting PostgreSQL 9.3 database server [ OK ]
Vérification de la génération du journal
Une fois le système redémarré, la journalisation doit commencer immédiatement. Pour vous en assurer, accédez au data/pg_log
répertoire de votre installation postgres. N'oubliez pas que nous avons saisi les data
chemin du répertoire plus tôt, alors naviguez simplement vers ce répertoire en ajoutant /pg_log
jusqu'à la fin pour accéder au répertoire du journal :
$ cd /var/lib/postgresql/9.3/main/pg_log
Listez maintenant les fichiers et vous devriez voir qu'un fichier journal a été créé après le précédent redémarrage du service :
$ ls -l
-rw------- 1 postgres postgres 935 Apr 13 20:30 postgresql-2016-04-13_203022.csv
Voilà, nous l'avons; les fichiers journaux générés automatiquement sont activés avec PostgreSQL en modifiant seulement quelques paramètres de configuration.