Guides

Demo Data & PostgreSQL

A demo project has two halves. The pages are metadata and come with the Designer. The data underneath does not: it lives in a PostgreSQL database, and until you put it there the pages open and show nothing.

This guide covers the second half, from the beginning, assuming you have never used PostgreSQL.

You need it only if you run GTmeta on your own machine, with the Suite or the developer kit. If you are looking at the online demos, the data is on our side and there is nothing to do.


If you are coming from Oracle

Three differences, and they are exactly the ones people trip over on day one.

Oracle PostgreSQL
The instance is the database The cluster (the service on port 5432) holds several databases
A schema is a user Schemas live inside a database, and roles are a separate thing
Listener and tnsnames.ora Host, port and database name, plus a rules file, pg_hba.conf

Two practical consequences:

  • one connection sees one database. You cannot write a query across two of them the way you would across two Oracle schemas. That is why everything here goes into the same database, in different schemas;
  • tablespaces exist here too, but you almost never create one. Everything goes to the default. At these sizes it is not a subject.

1. Install PostgreSQL

Get the installer from https://www.postgresql.org/download/ — version 18 or later. This is not optional: the files we publish are produced with 18, and an older release refuses to read them.

Three screens matter during the install.

Select Components. Keep all four ticks, and in particular Command Line Tools. Skip that one and pg_restore is never installed; later pgAdmin will tell you a library is missing without explaining why. It is the single most common failure in this whole procedure.

Password. This is for the administrator account, which is called postgres. Write it down: every connection needs it.

Port. Leave 5432.

At the end Stack Builder starts and offers add-ons (pgAgent, pgBouncer and others). You need none of them: press Cancel. It installs nothing and leaves nothing pending.

Already installed without the Command Line Tools? Do not uninstall. Run the same installer again, choose Modify, and tick Command Line Tools. The database you already have is left alone.

pgAdmin 4: on Windows it is already there

pgAdmin 4 is the graphical interface. It is its own project, with its own download at https://www.pgadmin.org/download/, but the Windows PostgreSQL installer includes it among the components: leave the tick in place and there is nothing else to download. On Linux and macOS you do get it separately.

Two things that confuse people, and neither is a fault:

  • no desktop icon is created, and the installer says nothing about it at the end. You will find it in the Start menu, under PostgreSQL 18 → pgAdmin 4;
  • it is not required. Everything below can be done from the command line with the tools that come with the database. pgAdmin is there to look inside, and it helps the first time.

2. Create the database

One is enough for all the demos: each file you download brings its own schema, so they live side by side.

Open pgAdmin 4. The tree on the left shows Servers and, under it, the connection to your machine. Mind the vocabulary: that level is the PostgreSQL service, not a database. Databases sit below, under Databases, and at first there is only one, postgres, which is the service database. Do not load anything into it.

Right-click Databases → Create → Database…, Database field:

gtmeta_demo

Owner postgres, Save.

From the command line it is the same thing:

createdb -U postgres gtmeta_demo

3. Load a demo

Download the demo file from the Downloads page. It is a .backup file: PostgreSQL's compressed format, loaded with pg_restore. Do not unpack it, and you need no other program.

With pgAdmin

  1. select the gtmeta_demo database in the tree — not the server level, and not postgres. Restore acts on the selected database;
  2. right-click → Restore…;
  3. Format: Custom or tar;
  4. Filename: the .backup file you downloaded;
  5. Restore.

Leave every other option alone. The file is prepared to load under your own account, without looking for roles that do not exist on your machine.

From the command line

pg_restore -U postgres -d gtmeta_demo gtmeta-demo-hrdemo-20260923.backup

Repeat for each demo you want: they all land in the same database, each in its own schema.


4. Tell the Suite about it

The database now holds the data, but the Suite does not know it exists. It connects where you tell it to.

Sign in as an administrator and go to Administration & Settings → Connections. Find the demo connection and put your own values in:

field value
server localhost
port 5432
database gtmeta_demo
schema the demo's own (hr for HRDEMO, tpx for TPXDEMO)
user / password yours

Schema is the field people coming from Oracle tend to skip, and it is the one that decides whether the pages find the tables.

Then open the demo project: the data is there.


When something does not work

"I cannot see the file in the Restore dialog." You are in the right folder but the filter hides that type. Choose All files.

"Restore is greyed out." No database is selected. The command acts on the selected node.

"A DLL is missing" (libpq.dll, libcrypto-3-x64.dll). The Command Line Tools are not installed, or pgAdmin points at the wrong folder. Check File → Preferences → Paths → Binary paths: the PostgreSQL 18 row must point at the 18 bin, for example C:\Program Files\PostgreSQL\18\bin.

"unsupported version in file header" / "archive created with a newer version". Your pg_restore is older than the file. This happens when several PostgreSQL versions live on the same machine. Check the same Binary paths.

"database does not exist". The database was not created, or the name is spelled differently. Names in PostgreSQL are lowercase: gtmeta_demo, not GTmeta_Demo.

"I uninstalled and reinstalled, and something is off." Uninstalling on Windows does not remove the data directory, and it tells you so. If it stays, the new installation reuses it: you end up with the old postgres password instead of the one you just chose. Check that C:\Program Files\PostgreSQL is completely gone before reinstalling.

"After reinstalling, pgAdmin still remembers my old connection." That is normal, and it does not mean something survived in the database. The connections in the tree are pgAdmin bookmarks, saved in your user profile (%APPDATA%\pgAdmin), not in the database. To tell whether the install is really clean, look at the contents: under Databases there must be only postgres, and it must ask you for the new password.

"The pages open but they are empty." The load worked, but the connection points somewhere else, or the schema is wrong. Go back to step 4.