Backing up HDSI server database
Purpose: You wish to perform a complete backup of the OpenIZ primary data store, or a data store which OpenIZ uses.
Introduction: Backing up your database server is a routine procedure and should be performed on an automated schedule. This article will guide system administrators through the backup and restore process.
Applies To:
OpenIZ Immunization Management Server (running PostgreSQL database)
Steps:
Open the C:\Program Files (x86)\Mohawk College\OpenIZ\openiz.exe.config file in a text edit
Navigate to the <connectionStrings> section and note the server, username and password for your primary OpenIZ connection string. For example, the connection below is pointing to localhost with username postgres and password postgres.
<add name="PSQL_CLIN" connectionString="server=localhost; database=openiz_staging; user id=postgres; password=postgres; " providerName="Npgsql"/>
Open a command prompt and navigate to C:\Program Files\PostgreSQL\9.4\bin (note: if you are using the bundled installation of OpenIZ your directory may be C:\Program Files (x86)\Mohawk College\OpenIZ\PostgreSQL\bin)
Stop the OpenIZ service by typing : net stop openiz
Type the following command:
C:\Program Files\PostgreSQL\9.4\bin>pg_dump -h localhost -U postgres -W --dbname=openiz_staging > c:\temp\mybackup.sql Password:
Enter your password when prompted
Restart the OpenIZ service by typing : net start openiz
If you need to restore a backup use the following instructions:
Open a command prompt and navigate to C:\Program Files\PostgreSQL\9.4\bin (note: if you are using the bundled installation of OpenIZ your directory may be C:\Program Files (x86)\Mohawk College\OpenIZ\PostgreSQL\bin)
Stop the openiz service by executing : net stop openiz
Run the command psql -U postgres -W -h localhost
Optional: In the SQL command prompt rename the current copy of your database to another name (this will preserve the database in the server)
postgres=# alter database openiz_staging rename to openiz_original; ALTER DATABASE
Create a new database to which to restore the backup: (note: lines prefixed with postgres=# are the inputs)
postgres=# create database openiz_staging owner postgres; CREATE DATABASE postgres=# \c openiz_staging Password for user postgres: WARNING: Console code page (437) differs from Windows code page (1252) 8-bit characters might not work correctly. See psql reference page "Notes for Windows users" for details. You are now connected to database "openiz_staging" as user "postgres". openiz_staging=#
Restore the database by using the \i command
openiz_staging=# \i /temp/mybackup.sql
You may encounter errors on the first run, this is due to pg_dump not adhering to foreign key constraints. If you receive an error such as that listed below, simply re-run the above command a second time:
psql:/temp/mybackup.sql:435254: ERROR: new row for relation "act_ptcpt_tbl" violates check constraint "ck_act_ptcpt_rol_cd" DETAIL: Failing row contains (6689a586-3c42-4a2d-bbdc-bec0843856ef, 41b008a6-fcf8-40bc-ab96-7567e94bcf8f, 74baee85-6e99-43d5-95ef-bc70edd0b554, 1, null, null, 99e77288-cb09-4050-a8cf-385513f32f0a, 0). CONTEXT: COPY act_ptcpt_tbl, line 1: "6689a586-3c42-4a2d-bbdc-bec0843856ef 41b008a6-fcf8-40bc-ab96-7567e94bcf8f 74baee85-6e99-43d5-95ef-bc..." COPY 0
Start the OpenIZ host process by running net start openiz
Last updated
Was this helpful?