Book a Demo
Prev Next

Create a Project in a PostgreSQL Database

To create a project in a repository on PostgreSQL, you work through these stages:

  • Stage 1: Create a database and tables
  • Stage 2: Set up a connection to the database
  • Stage 3: Load initial data


  • A machine with PostgreSQL Server v9 or higher installed and running
  • psqlODBC, version 8.03 or higher has been installed (do not use version 8.3.4 or 8.4.1)

1. Create a PostgreSQL database and tables



See also


Create a new empty database and configure it to your preferences, making sure to configure the correct character set and collation.  The exact method you use to create the database is not important to this discussion, therefore use the most convenient or familiar method.


Open your SQL management console of choice (such as pgAdmin) and connect to the new database.


Download the EASchema_1558_PostgreSQL.sql file from the Sparx Systems website and open it in your SQL management console.


Run the EASchema_1558_PostgreSQL.sql to create the required database tables.

2. Set up Connection to PostgreSQL repository

From Enterprise Architect version 16 there are now two different ways that Enterprise Architect can connect to MariaDB repositories:

Note: Sparx Systems recommend Native connections as they are much simpler and don't require any other software installed or configured.

3. Load Initial Data

Enterprise Architect repositories require a basic amount of reference data to function correctly.

You can set up this initial data in one of two different ways:

  • Transfer the entire contents of an existing model into the new database, or
  • Run initial data SQL Script

3.1 Load Initial Data - Transfer Existing Model

If you choose to set up your new database with the contents of an existing model then Sparx Systems recommend that a Project Integrity check is performed on the existing model to ensure it is 'clean' and free from data-related errors before being copied into the new database.

The Enterprise Architect installation provides a model called EABase.qea, which is copied into the installation folder specifically for the purpose of providing basic data for a new model. However, if you have customized the various drop-down lists in another model then you might prefer to use that. Regardless of what model you choose to use, the process is the same and is outlined here.



See also


In Enterprise Architect, open the existing repository and select 'Settings > Model > Integrity > Project Integrity' in the ribbon.

Check Data Integrity


Ensure that the 'Action' panel is set to 'Report Only' and that all items in 'Checks to Run' are enabled, then click on the Go button.


If Enterprise Architect detects that the existing model contains integrity issues then it will list them in the main panel at the bottom of the dialog. These issues should be resolved before continuing with the project transfer.


With Enterprise Architect open, ensure that it there is no project loaded, by selecting 'Close Project' from the  Project list button.


Select the 'Settings > Model > Transfer > Full Project Transfer via Connection' ribbon option.

The 'Project Transfer' dialog displays.


In the 'Transfer Type' panel, select 'File to DBMS'.


In the 'Source Project' field, click on the Browse. button and browse for the name of the project file to copy to the repository.

If the .EAP file has Replication enabled, this must be removed before performing the transfer.

Remove Replication


At the right of the 'Target Project' field, click on the button and select either:


If required, select the 'Logfile' checkbox and type a path and filename for the data transfer log file.


Click on the Transfer button to begin the data transfer process.


When the process is complete, you have created a project on a PostgreSQL database and can now connect to it and open it from Enterprise Architect.


  • During the transfer, if an error message displays reporting '...nonstandard use of \\ in a string literal...', then the server variable (in the postgresql.conf file) will need to get set as shown and the transfer re-run:

    escape_string_warning = off

3.2 Load Initial Data - SQL Script



See also


Open your SQL management console of choice (such as pgAdmin) and connect to the new database.


Download the EABase_1558_PostgreSQL.sql file from the Sparx Systems website and open it in your SQL management console.


Run EABase_1558_PostgreSQL.sql  to load the required initial data.

Learn more