Utiliser un fichier de configuration .psqlrc alternatif

Vendredi, mai 27, 2016
By David Baffaleuf in PostgreSQL (dbaffaleuf@capdata-osmozium.com) [71 article(s)]

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 :




Cliquer pour partager cet article sur Viadeo
Cliquer sur "CAPTURER" pour sauvegarder cet article dans Evernote Clip to Evernote

Tags: ,

Leave a Reply