On 12/07/2018 10:45 AM, Matt Zagrabelny wrote:
On 07.12.2018 01:34, Matt Zagrabelny wrote:
>
>
> On Thu, Dec 6, 2018 at 4:24 PM Alvaro Herrera <alvherre@2ndquadrant.com
> <mailto:alvherre@2ndquadrant.com>> wrote:
>
> Sure, just define a pg_service.conf file.
> https://www.postgresql.org/docs/11/libpq-pgservice.html
>
>
> Thanks Alvaro!
>
> Is there any shorter version than:
>
> psql "service=foo"
>
> ?
>
> If not, I can make a shell alias that puts the "service=$@" into the
> command.
Thanks for the hints and discussion about this.
Here's my final implementation for the curious and to close the loop:
# a zsh function to avoid having to type "service="
$ which pssql
pssql () {
psql "service=$@"
}
# and a zsh completion function:
$ cat ~/.fpath/_pssql
#compdef pssql
PG_SERVICES_CONF=~/.pg_service.conf
if [[ -r ${PG_SERVICES_CONF} ]]; then
compadd $(sed -nE 's/^ *\[(.*)\] *$/\1/p' ${PG_SERVICES_CONF})
fi
It works like a charm!
I made bash functions to do something similar, with just hardcoded server names. It has auto-complete and allows me to use descriptive names instead of server names and custom postgres versions.
--
Angular momentum makes the world go 'round.