Page tree

 

Contents:


This section describes how to upgrade in-use instances of the Trifacta® databases for a working deployment of the Trifacta platform.

  • When you upgrade to a new release of the platform, the underlying databases and their structures are automatically migrated to the new format. However, the database releases are not touched. 

In this example, Postgres 9.3 is upgraded to Postgres 9.6.

Pre-requisites

  • The installing user must have write permissions to the directory from which the commands are executed.
  • The installing user must have sudo privileges.
  • Verify that you know the host and port number for each database.

Backup

Before you begin, please verify that you have a valid backup of each Trifacta database. See Backup and Recovery.

Acquire Distribution and Port Information

Before you begin, you must:

  • Acquire the port information for the current database. Typically, this value is 5432.
    NOTE: By default, PostgreSQL and the platform use port 5432 for communication. If that port is not available at install/upgrade time, the next available port is used, which is typically 5433. This change may occur if a previous version of PostgreSQL is on the same server. When a non-default port number is used, the platform must be configured to use it. For more information, see Change Database Port.
  • Acquire the latest distribution for the database software.

For more information, see Install the Databases.

Upgrade for PostgreSQL

This procedure describes the process for upgrading the PostgreSQL version in use by the Trifacta databases. This procedure assumes the following:

  • Source version: PostgreSQL 9.3
  • Upgrade version: PostgreSQL 9.6
  • All current databases are co-located with the software on the Trifacta node.
  • Some downtime of the databases during the upgrade process is ok.

Before You Begin

  • If you haven't already, please back up each database and all PostgreSQL configuration files. See Backup and Recovery.
  • Login to the node where the databases are hosted.

Upgrade for CentOS/RHEL

  1. Install the Postgres repo for yum. Below, PostgreSQL 9.6 is installed.
    1. For CentOS 6.x:

      wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm
      sudo yum -y install pgdg-centos96-9.6-3.noarch.rpm
    2. For CentOS 7.x:

      wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
      sudo yum -y install pgdg-centos96-9.6-3.noarch.rpm
    3. For Red Hat Enterprise Linux 6.x:

      wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm
      sudo yum -y install pgdg-redhat96-9.6-3.noarch.rpm
    4. For Red Hat Enterprise Linux 7.x:

      wget https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
      sudo yum -y install pgdg-redhat96-9.6-3.noarch.rpm
  2. Install the upgraded version. Below, PostgreSQL 9.6 is installed.

    sudo yum install postgresql96.x86_64 postgresql96-server.x86_64 postgresql96-contrib.x86_64 -y
  3. Create a new data directory for the new database version:

    1. For CentOS 7.x:

      sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
    2. For CentOS 6.x, RHEL 6.x:

      sudo service postgresql-9.6 initdb
    3. For RHEL 7.x:

      sudo /usr/pgsql-9.6/bin/postgresql96-setup initdb
  4. Use the following commands to verify that the upgrade is possible:

    su postgres
    cd ~
    /usr/pgsql-9.6/bin/pg_upgrade --old-bindir=/usr/pgsql-9.3/bin/ --new-bindir=/usr/pgsql-9.6/bin/ --old-datadir=/var/lib/pgsql/9.3/data/ --new-datadir=/var/lib/pgsql/9.6/data/ --check 

    If all is well, you should see a Clusters are compatible message.

  5. Stop the old version of the database service as the root user:
    1. CentOS/RHEL:

      sudo service postgresql-9.3 stop
  6. Run the upgrade as the postgres user:
    1. CentOS/RHEL:

      su postgres
      /usr/pgsql-9.6/bin/pg_upgrade --old-bindir=/usr/pgsql-9.3/bin/ --new-bindir=/usr/pgsql-9.6/bin/ --old-datadir=/var/lib/pgsql/9.3/data/ --new-datadir=/var/lib/pgsql/9.6/data/

Upgrade for Ubuntu 14.04 (Trusty)

Steps:

  1. Stop the platform:

    service trifacta stop
  2. Install the upgraded version. Below, PostgreSQL 9.6 is installed.

    sudo apt-get install postgresql-9.6 postgresql-server-dev-9.6 postgresql-contrib-9.6 -y
  3. Stop PostgreSQL:

    sudo systemctl stop postgresql
    service stop postgresql
    service postgresql stop
  4. Upgrade the PostgreSQL 9.3 version to PostgreSQL 9.6, using the newly installed version:

    NOTE: Below, some values are too long for a single line. Single lines that overflow to additional lines are marked with a \. The backslash should not be included if the line is used as input.

    sudo su - postgres -c '/usr/lib/postgresql/9.6/bin/pg_upgrade \
    -b /usr/lib/postgresql/9.3/bin -B /usr/lib/postgresql/9.6/bin \
    -d /var/lib/postgresql/9.3/main/ -D /var/lib/postgresql/9.6/main/ \
    -O "-c config_file=/etc/postgresql/9.6/main/postgresql.conf" \
    -o "-c config_file=/etc/postgresql/9.3/main/postgresql.conf"'
  5. Remove the old version of PostgreSQL (9.3):

    sudo apt-get remove postgresql-9.3 -y
  6. Restart PostgreSQL and the platform:

    service postgresql start
    service trifacta start


Upgrade for Ubuntu 16.04 (Xenial)

Steps:

  1. Stop the platform:

    service trifacta stop
  2. Install the upgraded version. Below, PostgreSQL 9.6 is installed.

    sudo apt-get install postgresql-9.6 postgresql-server-dev-9.6 postgresql-contrib-9.6 -y
  3. Stop PostgreSQL:

    sudo systemctl stop postgresql
    service stop postgresql
    service postgresql stop
  4. Upgrade the PostgreSQL 9.3 version to PostgreSQL 9.6, using the newly installed version:

    NOTE: Below, some values are too long for a single line. Single lines that overflow to additional lines are marked with a \. The backslash should not be included if the line is used as input.

    sudo su - postgres -c '/usr/lib/postgresql/9.6/bin/pg_upgrade \
    -b /usr/lib/postgresql/9.3/bin -B /usr/lib/postgresql/9.6/bin \
    -d /var/lib/postgresql/9.3/main/ -D /var/lib/postgresql/9.6/main/ \
    -O "-c config_file=/etc/postgresql/9.6/main/postgresql.conf" \
    -o "-c config_file=/etc/postgresql/9.3/main/postgresql.conf"'
  5. Remove the old version of PostgreSQL (9.3):

    sudo apt-get remove postgresql-9.3 -y
  6. Restart PostgreSQL and the platform:

    service postgresql start
    service trifacta start


Transfer Settings

For all operating systems, you must transfer the settings from your old version of PostgreSQL to the new one.

  1. Update the port number and any other settings in the platform configuration. To apply this configuration change, login as an administrator to the Trifacta node. Then, edit trifacta-conf.json. Some of these settings may not be available through the Admin Settings Page. For more information, see Platform Configuration Methods.
    1. Replace all instances of the PostgreSQL port number for the earlier version and replace with the desired port number for the upgrade version. 
      NOTE: By default, PostgreSQL and the platform use port 5432 for communication. If that port is not available at install/upgrade time, the next available port is used, which is typically 5433. This change may occur if a previous version of PostgreSQL is on the same server. When a non-default port number is used, the platform must be configured to use it. For more information, see Change Database Port.
    2. Make the above changes and save the file.
  2. Transfer settings from the configuration files for your old database version to the new one. Please review the old and new versions of these files:

    NOTE: It is risky to perform a straight copy of these configuration files. Settings may change. New ones may be introduced. Setting values specific to to the installation may be overwritten in a copy. Please retain a backup of both versions of each file before migrating settings.

    Path to PostgreSQL 9.3 filePath to PostgreSQL 9.6 file
    /var/lib/pgsql/9.3/data/pg_hba.conf/var/lib/pgsql/9.6/data/pg_hba.conf
    /var/lib/pgsql/9.3/data/postgresql.conf/var/lib/pgsql/9.6/data/postgresql.conf
  3. Start the service:
    1. CentOS/RHEL:

      sudo service postgresql-9.6 start
    2. Ubuntu:

      sudo service postgresql start
    3. When the service restarts, you can check the cluster status using the following script:

      ./analyze_new_cluster.sh
  4. After you have completed the database installation, you must review the port number of the newly installed database, which may have changed between versions of the database software. That new port number must be applied through the Trifacta software. For more information, see Change Database Port.

  5. Verify datestyle setting.

    NOTE: If the PostgreSQL instance used by the Trifacta platform was not created as part of the Trifacta installation, please verify that the PostgreSQL datestyle value begins with ISO. For more information, see Configure the Databases.

  6. If all is well, restart the platform. See Start and Stop the Platform

Verify and Cleanup

  1. Verify operations on all four database:
    1. Login to the application. See Login.
    2. Load a dataset from Flow View. See Flow View Page.
    3. Run a job. See Run Job Page.
    4. Schedule a job and execute it. See Add Schedule Dialog.
  2. If all of the above tests pass, you can use the following script to delete the old PostgreSQL version and its data directory:

    ./delete_old_cluster.sh
  3. Restart the Trifacta platform. See Start and Stop the Platform.

Upgrade for MySQL

Upgrading the databases for MySQL is not supported in this release. Please start with a clean install of the databases on MySQL.

This page has no comments.