On 12/07/2018 10:45 AM, Matt Zagrabelny wrote:
On Fri, Dec 7, 2018 at 7:42 AM Arthur Zakirov <[email protected] <mailto:[email protected]>> wrote:On 07.12.2018 01:34, Matt Zagrabelny wrote: > > > On Thu, Dec 6, 2018 at 4:24 PM Alvaro Herrera <[email protected] <mailto:[email protected]> > <mailto:[email protected] <mailto:[email protected]>>> 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.
