Linux lhjmq-records 5.15.0-118-generic #128-Ubuntu SMP Fri Jul 5 09:28:59 UTC 2024 x86_64
Your IP : 3.22.242.169
# 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[@]} == 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
|