commit 23d8332238539dbad4014bf1ef8292c633dae468 parent e9af71ed0f352b719d291004906402780e1d718c Author: Jan Pobrislo <ccx@webprojekty.cz> Date: Sat, 28 Jun 2014 06:56:42 +0200 postgresql_user Diffstat:
| M | zsh-functions/confz_postgresql_init | | | 33 | +++++++++++++++++++++++++++++++++ |
1 file changed, 33 insertions(+), 0 deletions(-)
diff --git a/zsh-functions/confz_postgresql_init b/zsh-functions/confz_postgresql_init @@ -66,6 +66,39 @@ confz_postgresql_cluster_slot_check() { initdb="/usr/lib/postgresql-$vars[slot]/bin/initdb" } + +confz_postgresql_user_check() { + checkvars name + defvar user postgres + defvar psql psql + defvar createuser createuser + defvar allow_createdb 0 + defvar allow_createrole 0 + defvar allow_replication 0 + defvar allow_login 1 + defvar superuser 0 + + local -a opts + + opts+=( -U $vars[user] ) + (($+vars[host])) && opts+=( --host=$vars[host] ) + (($+vars[port])) && opts+=( --port=$vars[port] ) + + do_command=( $vars[createdb] $opts $vars[name] ) + + local flag + for flag in allow_createdb allow_createrole allow_replication allow_login superuser; do + if (($vars[$flag])); then + do_command+=( --${flag#allow_} ) + else + do_command+=( --no-${flag#allow_} ) + fi + done + + out=$( confz_do $vars[psql] $opts -AP tuples_only=on -c '\dg' ) || die "psql failed" + grep -q "^$vars[name]|" <<<$out +} + confz_postgresql_db_check() { checkvars db owner defvar user postgres