0

Utiliser un fichier de configuration .psqlrc alternatif

twitterlinkedinmail

Encore un truc tout bête: je partage le compte postgres avec d’autres applications, et je veux utiliser un fichier .psqlrc personnalisé que seul mon code utilisera.

Or on sait que par défaut psql va chercher :

– Soit un fichier psqlrc global sous $( pg_config –sysconfdir)
– Soit un fichier ~postgres/.psqlrc

Les exceptions étant si -c ou -X sont passés sur la ligne de commandes:

$ psql --help | egrep '\-c|\-X'
 -c, --command=COMMAND run only single command (SQL or internal) and exit
 -X, --no-psqlrc do not read startup file (~/.psqlrc)

La solution est d’utiliser la variable d’environnement $PSQLRC, qui contient le chemin vers un .psqlrc alternatif, et que je peux positionner dans ma partie de code, pour qu’elle ne soit pas partagée par défaut par les autres applications.

Mon fichier .psqlrccap perso:

$ cat /home/postgres/.psqlrccap
\set PROMPT1 '(%n@%M:%>) [%/] > '
\set PROMPT2 ''
\pset null 'NULL'
\set HISTSIZE 2000
\timing
\pset pager off
\set VERBOSITY verbose

On source à part:

echo '#!/bin/bash
PSQLRC="/home/postgres/.psqlrccap"
export PSQLRC' > envfile

$ . envfile
$ psql postgres -U capdata
Null display is "NULL".
Timing is on.
Pager usage is off.
psql (9.4.7)
Type "help" for help.

(capdata@[local]:5441) [postgres] >

Simple !

 

Continuez votre lecture sur le blog :

twitterlinkedinmail

David Baffaleuf

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.