If you would like to work with the complete set of clinical trials on your own computer... install PostgreSQL locally, download a static copy of the AACT database, and populate a local PostgreSQL AACT database instance with the data. This page provides the instructions.
Windows Users: Click here for step-by-step instructions to install PostgreSQL & create/load a local copy of AACT on a Windows machine.
Install PostgreSQL Database Platform
The PostgreSQL package (open source and freely available) includes a number of nice tools. If you intend to access the public AACT database hosted in the cloud, the only PostgreSQL tool you need is psql. If you would like to download a static copy of AACT to use on your local machine, you'll need the full postgreSQL package including the tools to create and populate the database (createdb & pg_restore). These tools are part of the standard PostgreSQL package, so once installed, you will be able to create your own AACT database.
We've provided a few screenshots and basic instructions here to help guide you through the installation process.
Download Package Containing Static Copy of AACT Database
Download a zip file that contains the AACT database file. With a single command (see below), this file can be used to automatically configure the database & populate it with the clinical trials dataset. The zip file also contains documentation that describes the database at the time the static copy was created. (The download typically takes 3-7 minutes, depending on your network speed.)
Populate Local PostgreSQL Database from the Static Copy
Once PostgreSQL is installed on your local machine and you have downloaded a static copy of the AACT database, you can create and populate your own database. You have two alternatives for installing it: 1) via a terminal session using command lines or 2) via a graphical user interface (GUI) such as pgAdmin. The command line option is somewhat simpler, so we've highlighted instructions for this below and provided guidance for using the GUI here.
Database Creation Via Command Line
Open a terminal session
On a Mac: press [Command] [Spacebar] and enter 'Terminal' in the 'Spotlight Search' dialog that pops up.
On a PC: press [Start] and enter 'CMD' in the command input box.
This should open a terminal session where you can enter the following commands.
Locate and unzip the database package/zipfile
Verify the location of the database package you downloaded in step 2 - both the path and the file name. You'll need to unzip this package and use the data dump file it contains to create and populate your own, local instance of the database.
On a Mac: The zip package is probably here: ~/Downloads/YYYYMMDD_clinical_trials.zip (where YYYYMMDD is the date the database was copied).
-> unzip ~/Downloads/YYYYMMDD_clinical_trials.zip
This will unpack the files contained in the zip package and save them to the directory where the zip file exists. These files include:
schema_diagram.png - Database schema diagram that illustrates the relationships between tables.
postgres_data.dmp - Postgres dump file containing all the instructions and data required to create a local copy of the AACT database.
data_dictionary.xlsx - Spreadsheet that describes all tables and columns in the AACT database.
nlm_protocol_definitions.html - Copy of the National Library of Medicine: ClinicalTrials.gov protocol-related documentation.
nlm_result_definitions.html - Copy of the National Library of Medicine: ClinicalTrials.gov results-related documentation.
Create and populate your local database instance
Enter the following command(s) to create the AACT database on your local machine & populate it with clinical trials data.
If this is the first time you're creating a local copy of the AACT database, enter these commands from a terminal session:
If the AACT database already exists on your local machine and you want to refresh it with another version, note that older dump files may not be compatible with your current database.
This is because we make changes to schema structure from time to time as well as upgrade PostgreSQL.
To refresh your existing database use this command:
PostgreSQL provides helpful instructions on their website. For Windows, the certified Interactive Installer by EnterpriseDB is a good option. It includes a graphical interface for PostgreSQL (pgAdmin). The following instructions are for Postgres Version 9.5.4, pgAdmin III, and SQL Shell (psql).
Using pgAdmin III
Connect to the local Postgres server.
Using pgAdmin, select a Server, right-click and select Connect, and enter the password to connect to the Postgres server. (The PostgresSQL selection no longer contains a red X.)
Create an empty Postgres database and create/populate it from the static copy of AACT.
Using pgAdmin, select Databases, right-click and select New Database.
Under the Properties tab, enter a name for the Database and click OK
Select the new Database, right-click and select Restore
In the File Options section, select the name of the AACT database package as the Filename and select postgres as the Rolename
In the Restore Options #1 section, under the Don’t save header, select Owner and Privilege and click Restore.
The restore is complete when the Restore database window shows “Process returned exit code 0.”
Execute a sample query Using pgAdmin, select the Database and select SQL from the top menu.
In the SQL window, type...
select count(*) from studies
Click the right-arrow in the top menu to execute the sql. The result shows in the results window.
Connect to the local Postgres server.
Using psql, click Enter to confirm:
Server [localhost] : (Press [Enter]}
Database [postgres] :
Port  : (Press [Enter])
Username [postgres] : aact
Enter the password you created for Password for user postgres:
Type "help" for help.
We are compiling a list of commonly encountered problems...
"pg_restore: [archiver (db)] could not execute query: ERROR: unrecognized configuration parameter "row_security"
Upgrade your version of PostgreSQL to 11.1.
pg_restore: connecting to database for restore
pg_restore: creating DATABASE "aact"
pg_restore: [archiver (db)] Error while PROCESSING TOC: