summaryrefslogtreecommitdiffstats
path: root/Services/postgres/sx/postgresql.sh
diff options
context:
space:
mode:
authorstartxfr <clarue@startx.fr>2014-12-08 02:35:03 +0100
committerstartxfr <clarue@startx.fr>2014-12-08 02:35:03 +0100
commitef2c1df934ee7720fd1ccacae042f3deb3b7628d (patch)
tree005eb1b5402f274f8643fa2d85ffa81da917a225 /Services/postgres/sx/postgresql.sh
parenta7f649b8f1f56a999073550d1b91b5d8d1cd7d81 (diff)
downloadphpmyadmin-ef2c1df934ee7720fd1ccacae042f3deb3b7628d.tar.gz
phpmyadmin-ef2c1df934ee7720fd1ccacae042f3deb3b7628d.tar.bz2
phpmyadmin-ef2c1df934ee7720fd1ccacae042f3deb3b7628d.tar.xz
phpmyadmin-ef2c1df934ee7720fd1ccacae042f3deb3b7628d.zip
adding function and startup script for last services images : memcache, nodejs, ooconv and postresql
Diffstat (limited to 'Services/postgres/sx/postgresql.sh')
-rw-r--r--Services/postgres/sx/postgresql.sh66
1 files changed, 66 insertions, 0 deletions
diff --git a/Services/postgres/sx/postgresql.sh b/Services/postgres/sx/postgresql.sh
new file mode 100644
index 0000000..7b57905
--- /dev/null
+++ b/Services/postgres/sx/postgresql.sh
@@ -0,0 +1,66 @@
+#!/bin/bash
+export TERM=dumb
+
+# Begin configuration before starting daemonized process
+# and start generating host keys
+function begin_config {
+ echo "=> Begin postgresql configuration for host $HOSTNAME"
+ postgresql-setup initdb
+ postgresql-setup upgrade
+ start_server
+ update_rootuser
+}
+
+# End configuration process just before starting daemon
+function end_config {
+ stop_server
+ echo "=> End postgresql configuration ..."
+}
+
+# Start the postgresql server in background. Used to perform config
+# against the database structure such as user creation
+function start_server {
+ echo "===> Starting postgresql server ..."
+ /usr/bin/postgres
+}
+
+# Stop the postgresql server running in background.
+function stop_server {
+ echo "===> Stopping postgresql server ..."
+ killall postgres
+}
+
+# Set new root password and grant permissions to all databases
+function update_rootuser {
+ if [ "$pgsql_newadminpwd" = "" ]; then
+ export pgsql_newadminpwd=$(pwgen 13 1);
+ fi
+ local n=$pgsql_newadminpwd;
+ echo "===> Update root user password and permission"
+ sudo -u postgres psql -U postgres -d postgres -c "alter user postgres with password '$pgsql_newadminpwd';"
+ unset pgsql_newadminpwd;
+ export PGSQL_ROOTPWD=$n;
+ echo "========================================================================";
+ echo "You can now connect to this PostgresQL Server using the following credentials:";
+ echo " ";
+ echo " user type : administrator";
+ echo " username : postgres";
+ echo " password : $n";
+ echo " ";
+ echo " psql -h <host> -p <port> --username=postgres; $n";
+ echo "========================================================================";
+ echo " ";
+ return 0
+}
+
+# Start the postgresql server as a deamon and execute it inside
+# the running shell
+function start_daemon {
+ echo "=> Starting postgresql daemon ..."
+ exec /usr/bin/postgres -D /var/lib/pgsql/data -c config_file=/var/lib/pgsql/postgresql.conf
+}
+
+
+if [[ "$0" == *"postgresql.sh" && ! $1 = "" ]];then
+ eval "$@";
+fi \ No newline at end of file