X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=templates%2Fpostgres.10.template.yml;h=b9f85ed6d0d2a68ff4807849676141996a4d0d18;hb=c11d5b0cfc97657737623fba9b8c1b12e51b8968;hp=2c2771ef2345eccb84a0af815fb723a2b9e61283;hpb=5b702b768daf35f03914fc573aa61ec117a4023d;p=discourse_docker.git diff --git a/templates/postgres.10.template.yml b/templates/postgres.10.template.yml index 2c2771e..b9f85ed 100644 --- a/templates/postgres.10.template.yml +++ b/templates/postgres.10.template.yml @@ -19,8 +19,6 @@ hooks: to: sv start postgres || exit 1 run: - - exec: apt-get remove -y postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5 - - exec: apt-get update && apt-get install -y postgresql-10 postgresql-client-10 postgresql-contrib-10 - exec: mkdir -p /shared/postgres_run - exec: chown postgres:postgres /shared/postgres_run - exec: chmod 775 /shared/postgres_run @@ -46,83 +44,6 @@ run: #!/bin/bash sv stop postgres - - file: - path: /root/upgrade_postgres - chmod: "+x" - contents: | - #!/bin/bash - PG_MAJOR_OLD=`cat /shared/postgres_data/PG_VERSION` - - if [ ! "10" = "$PG_MAJOR_OLD" ]; then - echo Upgrading PostgreSQL to from version ${PG_MAJOR_OLD} to 10 - rm -fr /shared/postgres_data_new - install -d -m 0755 -o postgres -g postgres /shared/postgres_data_new && sudo -u postgres /usr/lib/postgresql/10/bin/initdb -D /shared/postgres_data_new || exit 0 - apt-get update - apt-get install -y postgresql-${PG_MAJOR_OLD} - chown -R postgres:postgres /var/lib/postgresql/10 - /etc/init.d/postgresql stop - rm -fr /shared/postgres_data/postmaster.pid - cd ~postgres - cp -p /etc/postgresql/${PG_MAJOR_OLD}/main/* /shared/postgres_data - echo >> /shared/postgres_data/postgresql.conf - echo "data_directory = '/shared/postgres_data'" >> /shared/postgres_data/postgresql.conf - SUCCESS=true - sudo -u postgres /usr/lib/postgresql/10/bin/pg_upgrade -d /shared/postgres_data -D /shared/postgres_data_new -b /usr/lib/postgresql/${PG_MAJOR_OLD}/bin -B /usr/lib/postgresql/10/bin || SUCCESS=false - - if [[ "$SUCCESS" == 'false' ]]; then - echo ------------------------------------------------------------------------------------- - echo UPGRADE OF POSTGRES FAILED - echo - echo You are going to need to export your data and import into a clean instance: - echo - - if [ "$PG_MAJOR_OLD" = "9.5" ]; then - echo 'In containers/app.yml: Change "templates/postgres.template.yml" TO "templates/postgres.9.5.template.yml"' - echo - fi - - echo Run "./launcher rebuild app" again - echo - echo When your instance is running: - echo Run "./launcher enter app" - echo Run "cd /shared/postgres_backup && sudo -u postgres pg_dump discourse > backup.db" - echo - - if [ "$PG_MAJOR_OLD" = "9.5" ]; then - echo Undo the base_image in your container config - fi - - echo Run: "./launcher stop app" - echo Run: "sudo mv /var/discourse/shared/standalone/postgres_data /var/discourse/shared/standalone/postgres_data_old" - echo Run: "./launcher rebuild app" - echo - echo Run: "./launcher enter app" - echo Run: "cd /shared/postgres_backup" - echo Run: "sv stop unicorn" - echo Run: "sudo -iu postgres dropdb discourse" - echo Run: "sudo -iu postgres createdb discourse" - echo Run: "sudo -iu postgres psql discourse < backup.db" - echo Run: "exit" - echo Run: "./launcher rebuild app" - exit 1 - fi - - mv /shared/postgres_data /shared/postgres_data_old - mv /shared/postgres_data_new /shared/postgres_data - - echo ------------------------------------------------------------------------------------- - echo UPGRADE OF POSTGRES COMPLETE - echo - echo Old ${PG_MAJOR_OLD} database is stored at /shared/postgres_data_old - echo - echo To complete the upgrade, rebuild again using: - echo - echo ./launcher rebuild app - echo ------------------------------------------------------------------------------------- - # Magic exit status to denote no failure - exit 77 - fi - - exec: cmd: - chown -R root /var/lib/postgresql/10/main @@ -130,9 +51,6 @@ run: - chown -R postgres:postgres /shared/postgres_data - chown -R postgres:postgres /var/run/postgresql - - exec: /root/upgrade_postgres - - exec: rm /root/upgrade_postgres - - replace: filename: "/etc/postgresql/10/main/postgresql.conf" from: "data_directory = '/var/lib/postgresql/10/main'"