Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save pauloxnet/0d1c8f55367c12f046a613bc0cf5fcb8 to your computer and use it in GitHub Desktop.

Select an option

Save pauloxnet/0d1c8f55367c12f046a613bc0cf5fcb8 to your computer and use it in GitHub Desktop.

Revisions

  1. pauloxnet revised this gist Apr 14, 2017. 1 changed file with 14 additions and 3 deletions.
    17 changes: 14 additions & 3 deletions upgrade-postgresql-9.5-to-9.6.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,4 @@
    **TL;DR**
    # TL;DR

    After upgrade to Ubuntu 17.04:

    @@ -8,7 +8,8 @@ sudo pg_upgradecluster 9.5 main
    sudo pg_dropcluster 9.5 main
    ```

    **Upgrade PostgreSQL**
    # Upgrade PostgreSQL


    During Ubuntu updgrade to 17.04 you receive this message "Configuring postgresql-common":

    @@ -81,4 +82,14 @@ Check that the upgraded cluster works, then remove the 9.5 cluster.

    ```bash
    sudo pg_dropcluster 9.5 main
    ```
    ```

    After all your data check you can remove your old packages.

    ```bash
    sudo apt-get purge postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
    ```

    # Disclaimer of Warranty.

    THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
  2. pauloxnet revised this gist Apr 14, 2017. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions upgrade-postgresql-9.5-to-9.6.md
    Original file line number Diff line number Diff line change
    @@ -8,10 +8,10 @@ sudo pg_upgradecluster 9.5 main
    sudo pg_dropcluster 9.5 main
    ```

    ---
    Upgrade PostgreSQL:
    **Upgrade PostgreSQL**

    During Ubuntu updgrade to 17.04 you receive this message "Configuring postgresql-common":

    ```
    Obsolete major version 9.5
  3. pauloxnet revised this gist Apr 14, 2017. 2 changed files with 84 additions and 85 deletions.
    85 changes: 0 additions & 85 deletions upgrade-postgres-9.5-to-9.6.md
    Original file line number Diff line number Diff line change
    @@ -1,85 +0,0 @@
    **TL;DR**

    Install Postgres 9.5, and then:

    ```bash
    sudo pg_dropcluster 9.6 main --stop
    sudo pg_upgradecluster 9.5 main
    sudo pg_dropcluster 9.5 main
    ```

    ---
    Install PostgreSQL:

    ```
    sudo echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
    sudo apt-key add -
    sudo aptitude update
    sudo aptitude install postgresql-9.6 postgresql-client-9.6 postgresql-contrib-9.6
    ```

    Use `dpkg -l | grep postgresql` to check which versions of postgres are installed:

    ```
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.5 - object-relational SQL database, version 9.5 server
    i A postgresql-9.6 - object-relational SQL database, version 9.6 server
    i A postgresql-client-9.5 - front-end programs for PostgreSQL 9.5
    i A postgresql-client-9.6 - front-end programs for PostgreSQL 9.6
    i A postgresql-contrib-9.5 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.6 - additional facilities for PostgreSQL
    ```

    Run `pg_lsclusters`, your 9.5 and 9.6 main clusters should be "online".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.5 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.5-main.log
    9.6 main 5433 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.6-main.log
    ```

    There already is a cluster "main" for 9.6 (since this is created by default on package installation).
    This is done so that a fresh installation works out of the box without the need to create a cluster first,
    but of course it clashes when you try to upgrade 9.5/main when 9.6/main also exists.
    The recommended procedure is to remove the 9.6 cluster with `pg_dropcluster` and then upgrade with `pg_upgradecluster`.

    Stop the 9.6 cluster and drop it.

    ```bash
    sudo pg_dropcluster 9.6 main --stop
    ```

    Upgrade the 9.5 cluster to the latest version.

    ```bash
    sudo pg_upgradecluster 9.5 main
    ```

    Your 9.5 cluster should now be "down".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.5 main 5433 down postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
    9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
    ```

    Check that the upgraded cluster works, then remove the 9.5 cluster.

    ```bash
    sudo pg_dropcluster 9.5 main
    ```


    Lastly:

    ```
    sudo nano /etc/postgresql/9.6/main/postgresql.conf
    ```

    Change `cluster_name = '9.5/main'` to `cluster_name = '9.6/main'`.
    84 changes: 84 additions & 0 deletions upgrade-postgresql-9.5-to-9.6.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,84 @@
    **TL;DR**

    After upgrade to Ubuntu 17.04:

    ```bash
    sudo pg_dropcluster 9.6 main --stop
    sudo pg_upgradecluster 9.5 main
    sudo pg_dropcluster 9.5 main
    ```

    ---
    Upgrade PostgreSQL:

    During Ubuntu updgrade to 17.04 you receive this message "Configuring postgresql-common":
    ```
    Obsolete major version 9.5
    The PostgreSQL version 9.5 is obsolete, but the server or client packages are still installed.
    Please install the latest packages (postgresql-9.6 and postgresql-client-9.6) and
    upgrade the existing clusters with pg_upgradecluster (see manpage).
    Please be aware that the installation of postgresql-9.6 will automatically create a default cluster 9.6/main.
    If you want to upgrade the 9.5/main cluster, you need to remove the already existing 9.6 cluster
    (pg_dropcluster --stop 9.6 main, see manpage for details).
    The old server and client packages are no longer supported.
    After the existing clusters are upgraded, the postgresql-9.5 and postgresql-client-9.5 packages should be removed.
    Please see /usr/share/doc/postgresql-common/README.Debian.gz for details.
    ```

    Use `dpkg -l | grep postgresql` to check which versions of postgres are installed:

    ```bash
    ii postgresql 9.6+179 all object-relational SQL database (supported version)
    ii postgresql-9.5 9.5.6-0ubuntu0.16.10 amd64 object-relational SQL database, version 9.5 server
    ii postgresql-9.6 9.6.2-1 amd64 object-relational SQL database, version 9.6 server
    ii postgresql-client 9.6+179 all front-end programs for PostgreSQL (supported version)
    ii postgresql-client-9.5 9.5.6-0ubuntu0.16.10 amd64 front-end programs for PostgreSQL 9.5
    ii postgresql-client-9.6 9.6.2-1 amd64 front-end programs for PostgreSQL 9.6
    ii postgresql-client-common 179 all manager for multiple PostgreSQL client versions
    ii postgresql-common 179 all PostgreSQL database-cluster manager
    ii postgresql-contrib-9.5 9.5.6-0ubuntu0.16.10 amd64 additional facilities for PostgreSQL
    ii postgresql-contrib-9.6 9.6.2-1 amd64 additional facilities for PostgreSQL
    ```

    Run `pg_lsclusters`, your 9.5 and 9.6 main clusters should be "online".

    ```bash
    Ver Cluster Port Status Owner Data directory Log file
    9.5 main 5433 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
    9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
    ```

    There already is a cluster "main" for 9.6 (since this is created by default on package installation).
    This is done so that a fresh installation works out of the box without the need to create a cluster first,
    but of course it clashes when you try to upgrade 9.5/main when 9.6/main also exists.
    The recommended procedure is to remove the 9.6 cluster with `pg_dropcluster` and then upgrade with `pg_upgradecluster`.

    Stop the 9.6 cluster and drop it.

    ```bash
    sudo pg_dropcluster 9.6 main --stop
    ```

    Upgrade the 9.5 cluster to the latest version.

    ```bash
    sudo pg_upgradecluster 9.5 main
    ```

    Your 9.5 cluster should now be "down" and you can verifity running `pg_lsclusters`

    ```bash
    Ver Cluster Port Status Owner Data directory Log file
    9.5 main 5433 down postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
    9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
    ```

    Check that the upgraded cluster works, then remove the 9.5 cluster.

    ```bash
    sudo pg_dropcluster 9.5 main
    ```
  4. @delameko delameko revised this gist Oct 1, 2016. 1 changed file with 13 additions and 1 deletion.
    14 changes: 13 additions & 1 deletion upgrade-postgres-9.5-to-9.6.md
    Original file line number Diff line number Diff line change
    @@ -9,8 +9,20 @@ sudo pg_dropcluster 9.5 main
    ```

    ---
    Install PostgreSQL:

    `dpkg -l | grep postgresql` to check which versions of postgres are installed:
    ```
    sudo echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list
    wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | \
    sudo apt-key add -
    sudo aptitude update
    sudo aptitude install postgresql-9.6 postgresql-client-9.6 postgresql-contrib-9.6
    ```

    Use `dpkg -l | grep postgresql` to check which versions of postgres are installed:

    ```
    i postgresql - object-relational SQL database (supported version)
  5. @delameko delameko revised this gist Oct 1, 2016. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion upgrade-postgres-9.5-to-9.6.md
    Original file line number Diff line number Diff line change
    @@ -70,4 +70,4 @@ Lastly:
    sudo nano /etc/postgresql/9.6/main/postgresql.conf
    ```

    Change `cluster_name = '9.5/main'` to `cluster_name = '9.5/main'`.
    Change `cluster_name = '9.5/main'` to `cluster_name = '9.6/main'`.
  6. @delameko delameko revised this gist Oct 1, 2016. 2 changed files with 73 additions and 92 deletions.
    92 changes: 0 additions & 92 deletions upgrade-postgres-9.3-to-9.5.md
    Original file line number Diff line number Diff line change
    @@ -1,92 +0,0 @@
    **TL;DR**

    Install Postgres 9.5, and then:

    ```bash
    sudo pg_dropcluster 9.5 main --stop
    sudo pg_upgradecluster 9.3 main
    sudo pg_dropcluster 9.3 main
    ```

    ---

    Specifically for using the WAL-E enabled Docker image, make sure WAL-E is turned off:

    ```
    sudo pkill backupcron
    ```

    Install postgresql 9.5:

    ```
    wget https://alioth.debian.org/scm/loggerhead/pkg-postgresql/postgresql-common/trunk/download/head:/apt.postgresql.org.s-20130224224205-px3qyst90b3xp8zj-1/apt.postgresql.org.sh
    chmod a+x apt.postgresql.org.sh
    sed -i -e 's/$CODENAME-pgdg main/$CODENAME-pgdg main 9.5/g' apt.postgresql.org.sh
    sudo ./apt.postgresql.org.sh
    sudo apt-get install postgresql-9.5
    sudo apt-get install postgresql-client-9.5
    sudo apt-get install postgresql-contrib-9.5
    ```

    Once the installation finished, I used `aptitude search` to check which versions of postgres I have installed.

    ```
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.3 - object-relational SQL database, version 9.3 server
    i A postgresql-9.5 - object-relational SQL database, version 9.5 server
    i A postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
    i A postgresql-client-9.5 - front-end programs for PostgreSQL 9.5
    i A postgresql-contrib-9.3 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.5 - additional facilities for PostgreSQL
    ```

    Looks like we successfully installed PostgreSQL 9.5, but I still need to upgrade from 9.3 to 9.5.

    Run `pg_lsclusters`, your 9.3 and 9.5 main clusters should be "online".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
    9.5 main 5433 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
    ```

    There already is a cluster "main" for 9.5 (since this is created by default on package installation).
    This is done so that a fresh installation works out of the box without the need to create a cluster first,
    but of course it clashes when you try to upgrade 9.3/main when 9.5/main also exists.
    The recommended procedure is to remove the 9.5 cluster with `pg_dropcluster` and then upgrade with `pg_upgradecluster`.

    Stop the 9.5 cluster and drop it.

    ```bash
    sudo pg_dropcluster 9.5 main --stop
    ```

    Upgrade the 9.3 cluster to the latest version.

    ```bash
    sudo pg_upgradecluster 9.3 main
    ```

    Your 9.3 cluster should now be "down".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.3 main 5433 down postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
    9.5 main 5432 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
    ```

    Check that the upgraded cluster works, then remove the 9.3 cluster.

    ```bash
    sudo pg_dropcluster 9.3 main
    ```


    Now push an initial WAL-E base backup:

    ```
    sudo -u postgres envdir /etc/wal-e.d/env wal-e backup-push
    ```
    73 changes: 73 additions & 0 deletions upgrade-postgres-9.5-to-9.6.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,73 @@
    **TL;DR**

    Install Postgres 9.5, and then:

    ```bash
    sudo pg_dropcluster 9.6 main --stop
    sudo pg_upgradecluster 9.5 main
    sudo pg_dropcluster 9.5 main
    ```

    ---

    `dpkg -l | grep postgresql` to check which versions of postgres are installed:

    ```
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.5 - object-relational SQL database, version 9.5 server
    i A postgresql-9.6 - object-relational SQL database, version 9.6 server
    i A postgresql-client-9.5 - front-end programs for PostgreSQL 9.5
    i A postgresql-client-9.6 - front-end programs for PostgreSQL 9.6
    i A postgresql-contrib-9.5 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.6 - additional facilities for PostgreSQL
    ```

    Run `pg_lsclusters`, your 9.5 and 9.6 main clusters should be "online".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.5 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.5-main.log
    9.6 main 5433 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.6-main.log
    ```

    There already is a cluster "main" for 9.6 (since this is created by default on package installation).
    This is done so that a fresh installation works out of the box without the need to create a cluster first,
    but of course it clashes when you try to upgrade 9.5/main when 9.6/main also exists.
    The recommended procedure is to remove the 9.6 cluster with `pg_dropcluster` and then upgrade with `pg_upgradecluster`.

    Stop the 9.6 cluster and drop it.

    ```bash
    sudo pg_dropcluster 9.6 main --stop
    ```

    Upgrade the 9.5 cluster to the latest version.

    ```bash
    sudo pg_upgradecluster 9.5 main
    ```

    Your 9.5 cluster should now be "down".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.5 main 5433 down postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
    9.6 main 5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
    ```

    Check that the upgraded cluster works, then remove the 9.5 cluster.

    ```bash
    sudo pg_dropcluster 9.5 main
    ```


    Lastly:

    ```
    sudo nano /etc/postgresql/9.6/main/postgresql.conf
    ```

    Change `cluster_name = '9.5/main'` to `cluster_name = '9.5/main'`.
  7. @johanndt johanndt revised this gist Nov 19, 2015. 2 changed files with 92 additions and 68 deletions.
    68 changes: 0 additions & 68 deletions upgrade-postgres-9.3-to-9.4.md
    Original file line number Diff line number Diff line change
    @@ -1,68 +0,0 @@
    **TL;DR**

    ```bash
    sudo pg_dropcluster 9.4 main --stop
    sudo pg_upgradecluster 9.3 main
    sudo pg_dropcluster 9.3 main
    ```

    ---

    While upgrading Ubuntu 14.04 to 14.10, I got the following message:

    > The PostgreSQL version 9.3 is obsolete, but the server or client packages are still installed. Please install the latest packages (postgresql-9.4 and postgresql-client-9.4) and upgrade the existing clusters with pg_upgradecluster
    Once the Ubuntu upgrade finished, I used `aptitude search` to check which versions of postgres I have installed.

    ```
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.3 - object-relational SQL database, version 9.3 server
    i A postgresql-9.4 - object-relational SQL database, version 9.4 server
    i A postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
    i A postgresql-client-9.4 - front-end programs for PostgreSQL 9.4
    i A postgresql-contrib-9.3 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.4 - additional facilities for PostgreSQL
    ```

    Looks like the Ubuntu upgrade included PostgreSQL 9.4, but I still need to upgrade from 9.3 to 9.4.

    Run `pg_lsclusters`, your 9.3 and 9.4 main clusters should be "online".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
    9.4 main 5433 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log
    ```

    There already is a cluster "main" for 9.4 (since this is created by default on package installation).
    This is done so that a fresh installation works out of the box without the need to create a cluster first,
    but of course it clashes when you try to upgrade 9.3/main when 9.4/main also exists.
    The recommended procedure is to remove the 9.4 cluster with `pg_dropcluster` and then upgrade with `pg_upgradecluster`.

    Stop the 9.4 cluster and drop it.

    ```bash
    sudo pg_dropcluster 9.4 main --stop
    ```

    Upgrade the 9.3 cluster to the latest version.

    ```bash
    sudo pg_upgradecluster 9.3 main
    ```

    Your 9.3 cluster should now be "down".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.3 main 5433 down postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
    9.4 main 5432 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log
    ```

    Check that the upgraded cluster works, then remove the 9.3 cluster.

    ```bash
    sudo pg_dropcluster 9.3 main
    ```
    92 changes: 92 additions & 0 deletions upgrade-postgres-9.3-to-9.5.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,92 @@
    **TL;DR**

    Install Postgres 9.5, and then:

    ```bash
    sudo pg_dropcluster 9.5 main --stop
    sudo pg_upgradecluster 9.3 main
    sudo pg_dropcluster 9.3 main
    ```

    ---

    Specifically for using the WAL-E enabled Docker image, make sure WAL-E is turned off:

    ```
    sudo pkill backupcron
    ```

    Install postgresql 9.5:

    ```
    wget https://alioth.debian.org/scm/loggerhead/pkg-postgresql/postgresql-common/trunk/download/head:/apt.postgresql.org.s-20130224224205-px3qyst90b3xp8zj-1/apt.postgresql.org.sh
    chmod a+x apt.postgresql.org.sh
    sed -i -e 's/$CODENAME-pgdg main/$CODENAME-pgdg main 9.5/g' apt.postgresql.org.sh
    sudo ./apt.postgresql.org.sh
    sudo apt-get install postgresql-9.5
    sudo apt-get install postgresql-client-9.5
    sudo apt-get install postgresql-contrib-9.5
    ```

    Once the installation finished, I used `aptitude search` to check which versions of postgres I have installed.

    ```
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.3 - object-relational SQL database, version 9.3 server
    i A postgresql-9.5 - object-relational SQL database, version 9.5 server
    i A postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
    i A postgresql-client-9.5 - front-end programs for PostgreSQL 9.5
    i A postgresql-contrib-9.3 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.5 - additional facilities for PostgreSQL
    ```

    Looks like we successfully installed PostgreSQL 9.5, but I still need to upgrade from 9.3 to 9.5.

    Run `pg_lsclusters`, your 9.3 and 9.5 main clusters should be "online".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
    9.5 main 5433 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
    ```

    There already is a cluster "main" for 9.5 (since this is created by default on package installation).
    This is done so that a fresh installation works out of the box without the need to create a cluster first,
    but of course it clashes when you try to upgrade 9.3/main when 9.5/main also exists.
    The recommended procedure is to remove the 9.5 cluster with `pg_dropcluster` and then upgrade with `pg_upgradecluster`.

    Stop the 9.5 cluster and drop it.

    ```bash
    sudo pg_dropcluster 9.5 main --stop
    ```

    Upgrade the 9.3 cluster to the latest version.

    ```bash
    sudo pg_upgradecluster 9.3 main
    ```

    Your 9.3 cluster should now be "down".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.3 main 5433 down postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
    9.5 main 5432 online postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-main.log
    ```

    Check that the upgraded cluster works, then remove the 9.3 cluster.

    ```bash
    sudo pg_dropcluster 9.3 main
    ```


    Now push an initial WAL-E base backup:

    ```
    sudo -u postgres envdir /etc/wal-e.d/env wal-e backup-push
    ```
  8. @dideler dideler revised this gist Nov 2, 2014. 1 changed file with 17 additions and 7 deletions.
    24 changes: 17 additions & 7 deletions upgrade-postgres-9.3-to-9.4.md
    Original file line number Diff line number Diff line change
    @@ -1,17 +1,27 @@
    **TL;DR**

    ```bash
    sudo pg_dropcluster 9.4 main --stop
    sudo pg_upgradecluster 9.3 main
    sudo pg_dropcluster 9.3 main
    ```

    ---

    While upgrading Ubuntu 14.04 to 14.10, I got the following message:

    > The PostgreSQL version 9.3 is obsolete, but the server or client packages are still installed. Please install the latest packages (postgresql-9.4 and postgresql-client-9.4) and upgrade the existing clusters with pg_upgradecluster
    Once the Ubuntu upgrade finished, I used `aptitude search` to check which versions of postgres I have installed.

    ```
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.3 - object-relational SQL database, version 9.3 server
    i A postgresql-9.4 - object-relational SQL database, version 9.4 server
    i A postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
    i A postgresql-client-9.4 - front-end programs for PostgreSQL 9.4
    i A postgresql-contrib-9.3 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.4 - additional facilities for PostgreSQL
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.3 - object-relational SQL database, version 9.3 server
    i A postgresql-9.4 - object-relational SQL database, version 9.4 server
    i A postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
    i A postgresql-client-9.4 - front-end programs for PostgreSQL 9.4
    i A postgresql-contrib-9.3 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.4 - additional facilities for PostgreSQL
    ```

    Looks like the Ubuntu upgrade included PostgreSQL 9.4, but I still need to upgrade from 9.3 to 9.4.
  9. @dideler dideler revised this gist Nov 2, 2014. 1 changed file with 9 additions and 9 deletions.
    18 changes: 9 additions & 9 deletions upgrade-postgres-9.3-to-9.4.md
    Original file line number Diff line number Diff line change
    @@ -2,19 +2,19 @@ While upgrading Ubuntu 14.04 to 14.10, I got the following message:

    > The PostgreSQL version 9.3 is obsolete, but the server or client packages are still installed. Please install the latest packages (postgresql-9.4 and postgresql-client-9.4) and upgrade the existing clusters with pg_upgradecluster
    When the Ubuntu upgrade was done, I used `aptitude search` to check which versions of postgres I had installed.
    Once the Ubuntu upgrade finished, I used `aptitude search` to check which versions of postgres I have installed.

    ```
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.3 - object-relational SQL database, version 9.3 server
    i A postgresql-9.4 - object-relational SQL database, version 9.4 server
    i A postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
    i A postgresql-client-9.4 - front-end programs for PostgreSQL 9.4
    i A postgresql-contrib-9.3 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.4 - additional facilities for PostgreSQL
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.3 - object-relational SQL database, version 9.3 server
    i A postgresql-9.4 - object-relational SQL database, version 9.4 server
    i A postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
    i A postgresql-client-9.4 - front-end programs for PostgreSQL 9.4
    i A postgresql-contrib-9.3 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.4 - additional facilities for PostgreSQL
    ```

    Looks like the Ubuntu upgrade installed PostgreSQL 9.4 for me, but I still need to upgrade from 9.3 to 9.4.
    Looks like the Ubuntu upgrade included PostgreSQL 9.4, but I still need to upgrade from 9.3 to 9.4.

    Run `pg_lsclusters`, your 9.3 and 9.4 main clusters should be "online".

  10. @dideler dideler renamed this gist Nov 2, 2014. 1 changed file with 16 additions and 17 deletions.
    33 changes: 16 additions & 17 deletions readme.md → upgrade-postgres-9.3-to-9.4.md
    Original file line number Diff line number Diff line change
    @@ -1,22 +1,22 @@
    During the Ubuntu upgrade to 14.10, I got the following message.
    While upgrading Ubuntu 14.04 to 14.10, I got the following message:

    > The PostgreSQL version 9.3 is obsolete, but the server or client packages are still installed. Please install the latest packages (postgresql-9.4 and postgresql-client-9.4) and upgrade the existing clusters with pg_upgradecluster
    When the Ubuntu upgrade was done, I used `aptitude` to check which versions of postgres I had installed.
    When the Ubuntu upgrade was done, I used `aptitude search` to check which versions of postgres I had installed.

    ```
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.3 - object-relational SQL database, version 9.3 server
    i A postgresql-9.4 - object-relational SQL database, version 9.4 server
    i A postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
    i A postgresql-client-9.4 - front-end programs for PostgreSQL 9.4
    i A postgresql-contrib-9.3 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.4 - additional facilities for PostgreSQL
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.3 - object-relational SQL database, version 9.3 server
    i A postgresql-9.4 - object-relational SQL database, version 9.4 server
    i A postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
    i A postgresql-client-9.4 - front-end programs for PostgreSQL 9.4
    i A postgresql-contrib-9.3 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.4 - additional facilities for PostgreSQL
    ```

    Looks like the Ubuntu upgrade installed PostgreSQL 9.4 for me. So now I still had to upgrade from 9.3 to 9.4.
    Looks like the Ubuntu upgrade installed PostgreSQL 9.4 for me, but I still need to upgrade from 9.3 to 9.4.

    Run `pg_lsclusters` your 9.3 and 9.4 main clusters should be "online".
    Run `pg_lsclusters`, your 9.3 and 9.4 main clusters should be "online".

    ```
    pg_lsclusters
    @@ -25,19 +25,18 @@ Ver Cluster Port Status Owner Data directory Log file
    9.4 main 5433 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log
    ```

    As it says, there already is a cluster 'main' for 9.4 (since this is
    created by default on package installation). This is done so that a
    fresh installation works out of the box without the need to create a
    cluster first, but of course it clashes when you try to upgrade
    9.3/main when 9.4/main also exists. So the recommended procedure is to remove the 9.4 cluster with `pg_dropcluster` and then upgrade with `pg_upgradecluster`.
    There already is a cluster "main" for 9.4 (since this is created by default on package installation).
    This is done so that a fresh installation works out of the box without the need to create a cluster first,
    but of course it clashes when you try to upgrade 9.3/main when 9.4/main also exists.
    The recommended procedure is to remove the 9.4 cluster with `pg_dropcluster` and then upgrade with `pg_upgradecluster`.

    Stop the 9.4 cluster and drop it.

    ```bash
    sudo pg_dropcluster 9.4 main --stop
    ```

    Upgrade the 9.3 cluster to the latest version
    Upgrade the 9.3 cluster to the latest version.

    ```bash
    sudo pg_upgradecluster 9.3 main
  11. @dideler dideler created this gist Nov 2, 2014.
    59 changes: 59 additions & 0 deletions readme.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,59 @@
    During the Ubuntu upgrade to 14.10, I got the following message.

    > The PostgreSQL version 9.3 is obsolete, but the server or client packages are still installed. Please install the latest packages (postgresql-9.4 and postgresql-client-9.4) and upgrade the existing clusters with pg_upgradecluster
    When the Ubuntu upgrade was done, I used `aptitude` to check which versions of postgres I had installed.

    ```
    i postgresql - object-relational SQL database (supported version)
    i A postgresql-9.3 - object-relational SQL database, version 9.3 server
    i A postgresql-9.4 - object-relational SQL database, version 9.4 server
    i A postgresql-client-9.3 - front-end programs for PostgreSQL 9.3
    i A postgresql-client-9.4 - front-end programs for PostgreSQL 9.4
    i A postgresql-contrib-9.3 - additional facilities for PostgreSQL
    i A postgresql-contrib-9.4 - additional facilities for PostgreSQL
    ```

    Looks like the Ubuntu upgrade installed PostgreSQL 9.4 for me. So now I still had to upgrade from 9.3 to 9.4.

    Run `pg_lsclusters` your 9.3 and 9.4 main clusters should be "online".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
    9.4 main 5433 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log
    ```

    As it says, there already is a cluster 'main' for 9.4 (since this is
    created by default on package installation). This is done so that a
    fresh installation works out of the box without the need to create a
    cluster first, but of course it clashes when you try to upgrade
    9.3/main when 9.4/main also exists. So the recommended procedure is to remove the 9.4 cluster with `pg_dropcluster` and then upgrade with `pg_upgradecluster`.

    Stop the 9.4 cluster and drop it.

    ```bash
    sudo pg_dropcluster 9.4 main --stop
    ```

    Upgrade the 9.3 cluster to the latest version

    ```bash
    sudo pg_upgradecluster 9.3 main
    ```

    Your 9.3 cluster should now be "down".

    ```
    pg_lsclusters
    Ver Cluster Port Status Owner Data directory Log file
    9.3 main 5433 down postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log
    9.4 main 5432 online postgres /var/lib/postgresql/9.4/main /var/log/postgresql/postgresql-9.4-main.log
    ```

    Check that the upgraded cluster works, then remove the 9.3 cluster.

    ```bash
    sudo pg_dropcluster 9.3 main
    ```