aboutsummaryrefslogtreecommitdiffstats
path: root/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend')
-rw-r--r--meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend27
1 files changed, 26 insertions, 1 deletions
diff --git a/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend b/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend
index 98e7207c..f131e213 100644
--- a/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend
+++ b/meta-openstack/recipes-support/postgresql/postgresql_9.2.4.bbappend
@@ -19,14 +19,39 @@ USERADD_PARAM_${PN} = "--system --home /var/lib/postgres -g postgres \
--no-create-home --shell /bin/false postgres"
pkg_postinst_${PN} () {
+ # postgres 9.2.4 postinst
if [ "x$D" != "x" ]; then
exit 1
fi
sudo -u postgres initdb -D /etc/${PN}/
+ sleep 2
/etc/init.d/postgresql start
- sudo -u postgres psql -c "CREATE ROLE ${DB_USER} WITH SUPERUSER LOGIN PASSWORD '${DB_PASSWORD}'"
+ sleep 5
+
+ count=0
+ done=0
+ while [ $count -le 10 ] && [ $done -eq 0 ]; do
+ sudo -u postgres psql -c "CREATE ROLE ${DB_USER} WITH SUPERUSER LOGIN PASSWORD '${DB_PASSWORD}'" 2> /dev/null
+ if [ $? -ne 0 ]; then
+ echo "[INFO] postgres: failed to create account for ${DB_USER}, trying again"
+ /etc/init.d/postgresql stop
+ sleep 2
+ /etc/init.d/postgresql start
+ sleep 1
+ else
+ done=1
+ fi
+ count=`expr $count + 1`
+ done
+
+ if [ $done -eq 0 ]; then
+ echo "[ERROR] postgres: unable to create admin account"
+ exit 1
+ fi
+
ln -s /usr/share/zoneinfo /usr/share/postgresql/timezone
+ # end postgres 9.2.4 postinst
}
FILES_${PN} += "${localstatedir}/run/${PN}"