confz

git mirror of https://ccx.te2000.cz/bzr/confz
git clone https://ccx.te2000.cz/git/confz
Log | Files | Refs

commit e7b893790bacda1ea974a83ce6fd8cff739b4e90
parent 5bb7897ec90743e61315ab87356ce275f5287f7b
Author: Jan Pobrislo <ccx@webprojekty.cz>
Date:   Fri, 27 Jun 2014 11:43:35 +0200

copy how gentoo ebuild initializes postgresql
Diffstat:
Mzsh-functions/confz_postgresql_init | 15++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/zsh-functions/confz_postgresql_init b/zsh-functions/confz_postgresql_init @@ -10,10 +10,23 @@ confz_postgresql_cluster_check() { defvar pgdata $vars[data_dir] defvar locale en_US.UTF-8 defvar initdb initdb + defvar initdb_opts '' [[ -d $vars[data_dir] && -d $vars[pgdata] ]] } confz_postgresql_cluster_do() { - false + mkdir -p $vars[data_dir] $vars[pgdata] || return $? + chown -Rf $vars[owner]: $vars[data_dir] || return $? + chmod 0700 $vars[data_dir] || return $? + su $vars[owner] -c "$vars[initdb] -L ${(qqq)vars[locale]} -D ${(qqq)vars[data_dir]} $vars[initdb_opts]" || return $? + [[ $vars[data_dir] == $vars[pgdata] ]] || mv $vars[data_dir]/*.conf $vars[pgdata]/ +} + +confz_postgresql_cluster_slot_check() { + checkvars slot + require postgresql_cluster \?owner \?locale \?initdb_opts \ + pgdata="/etc/postgresql-$vars[slot]/" \ + data_dir="/var/lib/postgresql/$vars[slot]/data" \ + initdb="/usr/lib/postgresql-$vars[slot]/bin/initdb" }