Artifactory supports PostgreSQL 9.2 and above using driver version 9.4-1202.jdbc4 and above.
The commands below create artifactory user and database with appropriate permissions.
Use the commands below to create an Artifactory user and database with appropriate permissions. Modify the relevant values to match your specific environment:
CREATE USER artifactory WITH PASSWORD 'password'; GRANT artifactory TO <admin_role>; -- typically postgres; CREATE DATABASE artifactory WITH OWNER=artifactory ENCODING='UTF8'; GRANT ALL PRIVILEGES ON DATABASE artifactory TO artifactory;
Once you have verified that the script is correct, you need to run it to create the database and proceed with configuring the database.
We recommend providing Artifactory with full privileges on the database.
$ARTIFACTORY_HOME/etc/db.properties(If you do not have this file you can take it from the standalone zip distribution). For a full explanation on the contents of this file please refer to The Bundled Storage Configurations.
$ARTIFACTORY_HOME/etc/db.propertiesfile to match the attributes of the Artifactory database you created.
Download the JDBC driver corresponding to your PostgreSQL version from the and copy the
postgresql-9.x-xxx.jdbc4.jar file into the server's shared lib directory.
$TOMCAT_HOME/lib when installed as a service or
$ARTIFACTORY_HOME/tomcat/lib in the standalone version.
Make sure your driver has the same permissions as the rest of the files in the shared lib directory.
The above recommended configuration keeps all artifact information in PostgreSQL while storing the artifact binary data on the file system (under
While it is possible, to store BLOBs inside PostgreSQL we do not recommended it. This is important because the PostgreSQL driver doesn't support streaming BLOBs with unknown length to the database. Therefore, Artifactory will temporarily save deployed files to the filesystem and only then save the BLOB to the database.
To enable Transport Layer Security (TSL) encryption for PostGreSQL, set the
sslmode property to
verify-full in the .
For example, in the