fix holes in upgrade
authorSam Saffron <you@example.com>
Fri, 14 Mar 2014 02:19:32 +0000 (22:19 -0400)
committerSam Saffron <you@example.com>
Fri, 14 Mar 2014 02:19:32 +0000 (22:19 -0400)
templates/postgres.template.yml

index e35f5239250fefe39cb2639973be780e5022ecab..f924f1bf00b0d2b5810d2d9e92eeff0052cf7c9b 100644 (file)
@@ -37,6 +37,8 @@ run:
   - exec: rm -fr /var/run/postgresql
   - exec: ln -s /shared/postgres_run /var/run/postgresql
   - exec: socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
+  - exec: rm -fr /shared/postgres_run/.s*
+  - exec: rm -fr /shared/postgres_run/*.pid
   - file:
      path: /etc/service/postgres/run
      chmod: "+x"
@@ -54,7 +56,12 @@ run:
          rm -fr /shared/postgres_data_new
          install -d -m 0755 -o postgres -g postgres /shared/postgres_data_new && sudo -u postgres /usr/lib/postgresql/9.3/bin/initdb -D /shared/postgres_data_new || exit 0
          apt-get install -y postgresql-9.2
+         /etc/init.d/postgresql stop
+         rm -fr /shared/postgres_data/postmaster.pid
          cd ~postgres
+         cp /etc/postgresql/9.2/main/*.conf /shared/postgres_data
+         echo  >> /shared/postgres_data/postgresql.conf
+         echo "data_directory = '/shared/postgres_data'" >> /shared/postgres_data/postgresql.conf
          sudo -u postgres /usr/lib/postgresql/9.3/bin/pg_upgrade -d /shared/postgres_data -D /shared/postgres_data_new -b /usr/lib/postgresql/9.2/bin -B /usr/lib/postgresql/9.3/bin || exit 1
 
          mv /shared/postgres_data /shared/postgres_data_old
@@ -69,7 +76,6 @@ run:
          echo -------------------------------------------------------------------------------------
          exit 1
        fi
-  - exec: /root/upgrade_postgres
   - exec:
       cmd:
         - chown -R root /var/lib/postgresql/9.3/main
@@ -77,6 +83,7 @@ run:
         - chown -R postgres:postgres /shared/postgres_data
         - chown -R postgres:postgres /var/run/postgresql
 
+  - exec: /root/upgrade_postgres
   - replace:
       filename: "/etc/postgresql/9.3/main/postgresql.conf"
       from: "data_directory = '/var/lib/postgresql/9.3/main'"