Creating a test environment from a production repository
The following article will cover PostgresSQL, SQL, And Oracle databases.
For Postgres, you will need to confirm your Pyramid version on the Production environment by clicking on your initials on the tab at the top right-hand side of the screen as shown below.
We can see its Pyramid version 2020.11.030, in this case, we will run the installer version 2020.11.030 in our test environment.
We will choose New internal repository or new remote repository > PostgresSQL:
We will finish the installation and go back to the production environment to make a backup for the repository.
Run the following command to make a backup in our production server:
"C:\Program Files\Pyramid\postgres\pgsql\bin\pg_dump.exe" -U pyramid -h localhost -p 12130 -F t -f "C:\backup\pyramidDbBackup.tar" pyramidg2
The default password for the DB is: pyramid
From version 2020.15 and above the password for the internal PostgreSQL instance will be the name of the DB with ! after the word “pyramid”
example: DB name:pyramid123 password: pyramid!123
The way to change the Postgres password via CMD is with these commands :
1. cd C:\Program Files\Pyramid\postgres\pgsql\bin
2. set PGPASSWORD=CurrentPassowrd
3. psql -h localhost -d DB name -U pyramid -p 12130 -c "ALTER USER pyramid WITH PASSWORD 'NewPassword';"
The above must be run on the server running the Pyramid Postgres service.
To get your DB name, go to your pyramid folder and enter the file config.ini.
There under data, you will see database and this is the name of your DB.
NOTE: The path to your pyramid folder in Windows is - C:\Program Files\Pyramid
and in Linux is - /opt/pyramid.
If you are using a version that under 2020.20 and want to update the password in the config you need to use the tool and follow the instructions from this link:
If you are using 2020.20 and above, there is a maintenance tool name "run" that can change the password and the path to it is- C:\Program Files\Pyramid\core\maintenance
Now copy the file into our Test environment and run the following command in the CMD to restore the database:
"C:\Program Files\Pyramid\postgres\pgsql\bin\pg_restore.exe" --clean -h localhost -p 12130 -U pyramid -d pyramidg2 C:\backup\pyramidDbBackup.tar
The following article describes how to backup and restore your postgres DB from DBeaver:
After restoring has been complete we will need to truncate the server table by running the file attached, or by connecting to the database via 3rd party app.
After truncating the tables restart all Pyramid services, wait a few minutes, and try to log in.
NOTE: you will need to change the data source so it won't point into production repositories.
If you are using IMDB you will need to copy the IMDATA folder from the production server.
The IMDATA folder is located in C:\Program Files\Pyramid\repository\imdata
Now make sure that everything is working fine, and all the reports can be open with no errors, and you can install under the test environment our latest version.
MS SQL Server and Oracle
For SQL and Oracle database you will need the same Pyramid version or higher version.
for example, if you have Pyramid 2020.05.30 you can run installer build 2020.11.030.
The first step is to create a repository backup from the production environment and load it into your SQL or Oracle test environment.
After you have loaded the repository into your SQL or Oracle test environment you can run our installer and choose "Reuse Pre-existing Repository" > Microsoft SQL Server Or Oracle.
Point Pyramid to your SQL database:
Point Pyramid to your Oracle database:
And finish the installation.
Log in to your test environment and make sure you can open the reports.
Make sure to stop all the models and stop all publications.
Once the test environment is working, you need to deactivate its license (admin console -> licensing -> deactivate instance), get the machine key(after reloading the page -> new deployment -> generate machine key), and send it to your account manager to get a test pyramid license.
Each pyramid environment must have its own license and not use the same one as another environment