Artifactory PostgreSQL Configuration

Configure JFrog Artifactory to store artifact metadata in PostgreSQL while keeping binary data on the filesystem under $JFROG_HOME.

When you configure Artifactory to use PostgreSQL, all the artifact information is stored in PostgreSQL while the artifact binary data is stored in the file system (under $JFROG_HOME/artifactory/var/data/artifactory/filestore).

📘

Note

Storing BLOBs inside PostgreSQL is possible but not recommended. The PostgreSQL driver does not support streaming BLOBs with unknown length to the database. Artifactory therefore temporarily saves deployed files to the filesystem before saving the BLOB to the database.

❗️

Important

PostgreSQL uses tablespaces as the locations in the file system where the files representing database objects are stored. When defining a default tablespace using the default_tablespace parameter, either leave this parameter blank or enter the name of a tablespace you created.

Do not define a default PostgreSQL table, such as pg_default or pg_global, as the default tablespace. Doing so will generate the following exception when you try to create partitioned tables (a feature used by Artifactory since release 7.71.1):

ERROR: Cannot specify default tablespaces for partitioned relations

This behavior is by design by PostgreSQL.