The Sync Service is not packaged with a PostgreSQL driver, so it will need to be downloaded separately and cited in the start-up (see Starting the Sync Service).
- Download the appropriate driver that's compatible with JDBC42 from the PostgreSQL JDBC Driver download page.
- Copy the JAR file into the same directory as the Sync Service JAR.
Increase the maximum connections setting in the PostgreSQL configuration file.
Locate the configuration file:
- Linux: /var/lib/pgsql/9.4/data/postgresql.conf
- Windows: C:\Program Files\PostgreSQL\9.4\data\postgresql.conf
Add or edit the max_connections property:
max_connections = 450
If max_connections is left unchanged, bear in mind that in the PostgreSQL database, the default max_connections is 100. So, the value of the db.pool.max property in the config.yml file must be less than or equal to 100.
If there are multiple Sync Service instances forming a cluster hidden behind a load balancer, max_connections should be greater than or equal to the sum of all db.pool.max from all config.yml files.
For example, if max_connections=450, and there are 3 Sync Service instances, then the correct setting in config.yml is db.pool.max : 150.
- Restart the database.
- Locate the configuration file:
Review your memory requirements in work_mem in
the postgresql.conf file in your PostgreSQL directory.
Increasing the work_mem value increases performance and allows PostgreSQL to perform larger in-memory sorting. For more information about PostgreSQL performance, see Tuning PostgreSQL.
Create a Postgres user with the username given by the sync property,
sql.db.username, with password given by the sync property
CREATE USER alfresco WITH PASSWORD 'admin';
Create a Postgres database with the name given in the property,
sql.db.url, owned by the user, alfresco that you will use to run PostgreSQL, and ensure that this user
has write permissions on all tables and sequences.
CREATE DATABASE alfresco OWNER alfresco ENCODING 'utf8'; GRANT ALL PRIVILEGES ON DATABASE alfresco TO alfresco;
Ensure sql.db.driver and sql.db.url are correctly updated in the config.yml file, e.g.
sql: db: driver: org.postgresql.Driver url: jdbc:postgresql://localhost:5432/alfresco