Choose your language

Choose your login

Contact us

Set up PaperCut Print Deploy to use an external PostgreSQL DB

This page applies to:

If you have a large Print Deploy environment, consider using an external DB to maintain efficient printer driver deployment.


  • The latest version of PaperCut NG/MF (see Upgrading PaperCut MF and NG
  • The latest version of Print Deploy (via Auto Updates or the manual update method) 
  • PostgreSQL on a separate server: Minimumof 4 Core CPU, 8 GB RAM, 512 MB disk space 
  • Running Windows Server 2012 R2 and above or Linux (Ubuntu, Red Hat) 


  1. Download PostgreSQL from .

  2. Install PostgreSQL on your host OS - using the default values for now - and register the Postgre Server. 

  3. Go to the \PostgreSQL\12\data folder and edit the pg_hba.conf file to add a host record for the subnet your Papercut MF Server is on. 

    Example: Where the Print Deploy Server address is, add the subnet address shown in bold below.

    # IPv4 local connections:
  4. Launch PostGreSql Admin (pgAdmin) and create a Login/Group Role. 

  5. Assign all privileges to user “pd”.

  6. In pgAdmin, create a new database called “pd” . Grant user “pd” all privileges to database “pd”.

  7. If needed, adjust the value for PostGreSql “max_connections” . The default installation of PostGreSql establishes a default of 100 connections.

    Example: If any other applications use the same PostGreSqlServer, you’ll need to adjust the “max_connections” entry in the PostGreSql.conf file. Print Deploy uses a fixed 50 connections. So if, for example, you want to configure the PaperCut Application Server - which uses ~420 connections - to also use the same PostgreSQL instance, you’d set “max_connections” to 500. 

  8. On the host where Print Deploy is installed, stop the PaperCut Print Deploy Server service.

  9. In the PaperCut MF\providers\print-deploy\%os%\data\config folder, find the client.conf.toml file and add the following line:

    PostgresConnection = “host=<PostgreSQL Hostname or IP> port=<port, usually 5432> sslmode=<enable/disable> dbname=<database name> user=<database username> password=<database password>"

    Example: PostgresConnection = “host= port=5432 sslmode=disable dbname=pd user=pd password=dbpass”

    The default connection pool size is 50. In high load environments this can be increased with pool_max_conns. For example: PostgresConnection = “host= port=5432 sslmode=disable dbname=pd user=pd password=db pass pool_max_conns=100”

  10. Start the Print Deploy Server service.

  11. Validate the Print Deploy Admin screens loads with a default menu and Everyone zone.

  12. Clone printer queue details into Print Deploy, create zones, and test as per your test planning.