Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 3.17.78.184
# bash completion for Postgresql -*- shell-script -*-
_pg_databases()
{
# -w was introduced in 8.4, https://launchpad.net/bugs/164772
# "Access privileges" in output may contain linefeeds, hence the NF > 1
COMPREPLY=( $(compgen -W "$(psql -XAtqwlF $'\t' 2>/dev/null | \
awk 'NF > 1 { print $1 }')" -- "$cur") )
}
_pg_users()
{
# -w was introduced in 8.4, https://launchpad.net/bugs/164772
COMPREPLY=( $(compgen -W "$(psql -XAtqwc 'select usename from pg_user' \
template1 2>/dev/null)" -- "$cur") )
[[ ${#COMPREPLY[@]} -eq 0 ]] && COMPREPLY=( $(compgen -u -- "$cur") )
}
# createdb(1) completion
#
_createdb()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
--host|-!(-*)h)
_known_hosts_real -- "$cur"
return
;;
--username|--owner|-!(-*)[UO])
_pg_users
return
;;
--help|--version|--port|--tablespace|--encoding|--template|-!(-*)[pDET])
return
;;
esac
$split && return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") )
[[ $COMPREPLY == *= ]] && compopt -o nospace
else
_pg_databases
fi
} &&
complete -F _createdb createdb
# createuser(1) completion
#
_createuser()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
--help|--version|--port|--connection-limit|-!(-*)[pc])
return
;;
--host|-!(-*)h)
_known_hosts_real -- "$cur"
return
;;
--username|-!(-*)U)
_pg_users
return
;;
esac
$split && return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") )
[[ $COMPREPLY == *= ]] && compopt -o nospace
fi
} &&
complete -F _createuser createuser
# dropdb(1) completion
#
_dropdb()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
--host|-!(-*)h)
_known_hosts_real -- "$cur"
return
;;
--username|-!(-*)U)
_pg_users
return
;;
--help|--version)
return
;;
esac
$split && return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") )
[[ $COMPREPLY == *= ]] && compopt -o nospace
else
_pg_databases
fi
} &&
complete -F _dropdb dropdb
# dropuser(1) completion
#
_dropuser()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
--help|--version|--port|-!(-*)p)
return
;;
--host|-!(-*)h)
_known_hosts_real -- "$cur"
return
;;
--username|-!(-*)U)
_pg_users
return
;;
esac
$split && return
if [[ "$cur" == -* ]]; then
COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") )
[[ $COMPREPLY == *= ]] && compopt -o nospace
else
_pg_users
fi
} &&
complete -F _dropuser dropuser
# psql(1) completion
#
_psql()
{
local cur prev words cword split
_init_completion -s || return
case $prev in
--host|-!(-*)h)
_known_hosts_real -- "$cur"
return
;;
--username|-!(-*)U)
_pg_users
return
;;
--dbname|-!(-*)d)
_pg_databases
return
;;
--output|--file|--log-file|-!(-*)[ofL])
_filedir
return
;;
--help|--version|--command|--field-separator|--port|--pset|\
--record-separator|--table-attr|--set|--variable|-!(-*)[?VcFpPRTv])
return
;;
esac
$split && return
if [[ "$cur" == -* ]]; then
# return list of available options
COMPREPLY=( $(compgen -W '$(_parse_help "$1")' -- "$cur") )
[[ $COMPREPLY == *= ]] && compopt -o nospace
else
# return list of available databases
_pg_databases
fi
} &&
complete -F _psql psql
# ex: filetype=sh
|