Difference between revisions of "Sharing an IMSMA Staging Area"

From IMSMA Wiki
Jump to: navigation, search
Line 41: Line 41:
 
<li>Click '''OK'''</li>
 
<li>Click '''OK'''</li>
 
</ol>
 
</ol>
</li>
+
<li>Right-click on newly created (or already available) staging database, and choose '''Restore...'''</li>
 +
<li>In the restore window, choose '''Custom or Tar''' as the Format, select the path and filename of the .backup file, and choose '''imsma''' (if available) or '''postgres''' (or any other custom-defined user) as the Role.</li>
 +
<li>Click on '''Restore''' and wait for the restore process to finish. Depending on the size of the database, this can take some time.</li>
 
</ol>
 
</ol>
 
== Hosting the staging area on a server ==__NOEDITSECTION__
 
== Hosting the staging area on a server ==__NOEDITSECTION__

Revision as of 09:55, 16 July 2014

It can be useful to share an IMSMA staging area between different actors as a way to share IMSMA data. For example, in a setup where each actor/operator enters its own data into IMSMA (and thus has a subset of the provincial or national data), sharing the global staging area is a way of giving each actor access to the global dataset, without compromising their own IMSMA database.

Overview

There are several options for sharing the staging area:

  1. Create a backup, send it to the organisations that should have it, and restore the backup there
  2. Host the staging area on a server and allow access from the outside
  3. Host IMSMA on a server and allow remote Staging Area Generators to connect to it

Each option is detailed step-by-step.

Sharing via backup and restore

Backup of the staging area

The first step of option 1 is to create a backup of the staging area database. This is different from taking a backup of IMSMA, because the staging area is not part of the IMSMA application, but a stand-alone PostgreSQL database. A backup can be created using any tool that can connect to the PostgreSQL database (e.g. Navicat). The guide below details the steps using pgAdmin3, a tool that comes for free with every PostgreSQL installation, thus also with an IMSMA installation.

Note.jpg On a computer with IMSMA V6 installed, the executable for starting pgAdmin3 is C:\IMSMAng\pgsql\bin\pgAdmin3.exe

In order to create a backup of the staging area database, the following steps are required:

  1. In pgAdmin3, connect to the PostgreSQL server hosting the staging area -- typically, this server will be localhost, and the port is 5432.
  2. Open the staging area database by clicking on it
    Backup staging area step1.png
  3. Right-click on the database (e.g. staging) and choose Backup...
  4. Backup staging area step2.png
  5. In the backup window, choose a destination folder and a filename, and the other options as shown in the screenshot below.
  6. Backup staging area step3.png
  7. Click on Backup and wait for the backup to finish. Depending on the size of the database, this can take some time. When finished, click Done.
  8. In the chosen destination folder, there is now a file with the chosen name and the extension .backup (e.g. staging_area_backup.backup).
  9. This file can now be sent to whoever should receive it.

Restore of the staging area

Those having received the .backup file can then restore it on their PostgreSQL installation. If it is restored on a computer where IMSMA is installed, a PostgreSQL server is available and the staging area can be hosted on the same database server as IMSMA. If IMSMA is not installed, then PostgreSQL first needs to be installed manually. In order to restore a backup of the staging area database, the following steps are required:

  1. Connect to the PostgreSQL server with a user who has permission to create a new database and restore a database. The imsma user has these permissions. On a computer where IMSMA is not installed, the postgres user could be used, or any custom-created one with enough permissions.
  2. If no staging area database has been created yet, a new one has to be created. If it already exists, skip this step.
    1. Create a new database by right-clicking on the root Databases object in the object tree
      Restore staging area step1.png
    2. Provide a name and an owner for the database. The owner can be chosen from a drop-down list of all database users. If imsma is available, choose it, otherwise choose postgres or any custom-defined user.
      Restore staging area step2.png
    3. On the Definition tab, choose UTF8 as the encoding, and template_postgis20 as the template.
      Restore staging area step3.png
    4. Click OK
  3. Right-click on newly created (or already available) staging database, and choose Restore...
  4. In the restore window, choose Custom or Tar as the Format, select the path and filename of the .backup file, and choose imsma (if available) or postgres (or any other custom-defined user) as the Role.
  5. Click on Restore and wait for the restore process to finish. Depending on the size of the database, this can take some time.

Hosting the staging area on a server

Hosting IMSMA on a server and allow remote staging area generators to connect