The database repository is a critical element of the Pyramid application - housing all the content and settings in the system.
There are several options for deploying the repository:
- New Internal Repository - this is the default option and its a good solution for POC's and small deployments on a single server. This option uses an internal installation of PostgreSQL, installed locally on the server.
- New Remote Repository - this option is best used for all NEW deployments (other than small). It allows for the repository to be deployed into an existing database server instance already hosted by the customer (or in the cloud). Usually such instances are well resourced, have back-up and fail-over processes in place and are monitored for up-time and performance. Options for alternative databases include PostgreSQL, MS SQL Server, and Oracle. See below for database location choices: Native or cloud hosted "RDS"
- Current Remote Repository - this option is used when adding a new server to an EXISTING cluster of Pyramid servers. It is used by providing the details of the existing repository database in that cluster. See Multi-Server Repositoryfor more details.
- Reuse Preexisting Repository - this option is used for upgrade testing and disaster recovery . It is used by providing the details of an existing repository database. Use this option to attach the first new installation to that repository. All subsequent servers should then use the "Current Repository" approach described above as normal. See Application Recovery for more details on this option.
For PostgreSQL, provide the server host name, the port of the instance as well as the user name and password that will create the new database and perform administrative tasks.
If the local repository option is chosen, the settings are typically:
- server: localhost
- port: 12130
- username: pyramid
- password: XXXXXXXXXXX
- database: pyramidMMMMMM
Prior to version 2020.15, the password for the internal PostgreSQL instance is "pyramid". From version 2020.15 and above, the password for the internal PostgreSQL instance will be the name of the database (which is "pyramid" followed by an alphanumeric sequence) with an exclamation mark "!" after the word "pyramid".
To get the password, you need to open the config.ini file and find the database name. The password will then be "pyramid!alphanumericsequence". For instance, if the database name is "pyramid123blt", the password will be "pyramid!123blt".
For MS SQL Server, provide the server host name together with the instance name in the host box (e.g. server\instance). If you choose not to provide the instance name you must provide the port of the instance (typically 1433 for the default). Do not supply both.
The SQL authentication user name and password of a user is also required. This account provided should have sufficient privileges to create a database and perform administrative tasks.
For Oracle, provide the server host name, the port of the instance (typically 1521) and the service name (SID cannot be used). You need to provide a system user account (and password) that will allow the installer to create the new Pyramid schema (or user) on the designated server. The user or schema, itself, needs its own password.
When choosing the location for a 'remote' repository, admins can elect to use a native installation of the database technology or one hosted in the cloud ("RDS"). When using the RDS option, the empty database needs to be initialized in the relevant cloud host BEFORE the installation is launched.
When installing for a multi-server cluster deployment, the first installation should use the "New" remote server repository option. This will create the initial instance of the database to be used for subsequent installations. In the next and subsequent server installations of the cluster, choose the "CURRENT" option and set the repository settings to the ones used in the previous initial installation.
Using an old database or starting with the "CURRENT" option will create errors in a new installation. Further, using different databases for each server in the cluster will not con-join each of the nodes into the same, single cluster.
Resetting the Database Password
Use the System Maintenance Tools to change the database repository password in the even the database password needs to be reset.