summaryrefslogtreecommitdiffstats
path: root/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-setup
diff options
context:
space:
mode:
authorPatrick Williams <patrick@stwcx.xyz>2016-08-17 15:04:38 -0500
committerPatrick Williams <patrick@stwcx.xyz>2016-08-22 16:43:32 +0000
commitb48b7b4109868a8c0ddda090992e936e821c7ea6 (patch)
tree696be8ea782f2548c0f63bb0188f4c8d3eeed681 /import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-setup
parentd849ec78de728ef9a2d383b92ccfeabf40f8f1d0 (diff)
downloadtalos-openbmc-b48b7b4109868a8c0ddda090992e936e821c7ea6.tar.gz
talos-openbmc-b48b7b4109868a8c0ddda090992e936e821c7ea6.zip
Squashed 'import-layers/meta-openembedded/' content from commit 247b126
Change-Id: I40827e9ce5fba63f1cca2a0be44976ae8383b4c0 git-subtree-dir: import-layers/meta-openembedded git-subtree-split: 247b1267bbe95719cd4877d2d3cfbaf2a2f4865a Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Diffstat (limited to 'import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-setup')
-rw-r--r--import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-setup73
1 files changed, 73 insertions, 0 deletions
diff --git a/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-setup b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-setup
new file mode 100644
index 000000000..75bb01e05
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-oe/recipes-support/postgresql/files/postgresql-setup
@@ -0,0 +1,73 @@
+#!/bin/sh
+#
+# postgresql-setup Initialization operation for PostgreSQL
+
+# For SELinux we need to use 'runuser' not 'su'
+if [ -x /sbin/runuser ]
+then
+ SU=runuser
+else
+ SU=su
+fi
+
+PGENGINE=/usr/bin
+PGDATA=/var/lib/postgresql/data
+PGLOG=/var/lib/postgresql/pgstartup.log
+script_result=0
+
+initdb(){
+ if [ -f "$PGDATA/PG_VERSION" ]
+ then
+ echo -n "Data directory is not empty!"
+ echo -n " [FAILED] "
+ echo
+ script_result=1
+ else
+ echo -n "Initializing database: "
+ if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ]
+ then
+ mkdir -p "$PGDATA" || exit 1
+ chown postgres:postgres "$PGDATA"
+ chmod go-rwx "$PGDATA"
+ fi
+ # Clean up SELinux tagging for PGDATA
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA"
+
+ # Make sure the startup-time log file is OK, too
+ if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ]
+ then
+ touch "$PGLOG" || exit 1
+ chown postgres:postgres "$PGLOG"
+ chmod go-rwx "$PGLOG"
+ [ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG"
+ fi
+
+ # Initialize the database
+ $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null
+
+ # Create directory for postmaster log
+ mkdir "$PGDATA/pg_log"
+ chown postgres:postgres "$PGDATA/pg_log"
+ chmod go-rwx "$PGDATA/pg_log"
+
+ if [ -f "$PGDATA/PG_VERSION" ]
+ then
+ echo -n " [ OK ] "
+ else
+ echo -n " [FAILED] "
+ script_result=1
+ fi
+ echo
+ fi
+}
+
+case "$1" in
+ initdb)
+ initdb
+ ;;
+ *)
+ echo "Usage: $0 initdb"
+ exit 2
+esac
+
+exit $script_result
OpenPOWER on IntegriCloud