Skip to content

postgres job from cf/286

The Postgres server provides a single instance Postgres database that can be used with the Cloud Controller or the UAA. It does not provide highly-available configuration.

Github source: 78dc88f7 or master branch

Properties

databases

additional_config

A map of additional key/value pairs to include as extra configuration properties

Example
|+
  shared_buffers: 4GB

collect_statement_statistics

Enable the pg_stat_statements extension and collect statement execution statistics

Default
false

databases

A list of databases and associated properties to create

Example
|+
  - name: sandbox
    citext: true
  - name: sandbox2
    citext: false

log_line_prefix

The postgres printf style string that is output at the beginning of each log line

Default
'%m: '

max_connections

Maximum number of database connections

Default
500

monit_timeout

Monit timout in seconds for the postgres job start. If not specified, no timeout statement will be added so that the global monit timeout applies.

Default
90

port

The database port

Default
5432

roles

A list of database roles and associated properties to create

Example
|+
  - name: pgadmin
    password: passwd
    permissions:
    - "CONNECTION LIMIT 33"
  - name: bud_spencer
    common_name: "Carlo Pedersoli"

skip_data_copy_in_minor

If false, during a PostgreSQL minor upgrade a copy of the data directory is created.

Default
false

tls

ca

PEM-encoded certification authority for secure TLS communication

Default
""
certificate

PEM-encoded certificate for secure TLS communication

Default
""
private_key

PEM-encoded key for secure TLS communication

Default
""

trust_local_connections

Whether to trust or not local connections. Note that vcap is always trusted.

Default
true

Templates

Templates are rendered and placed onto corresponding instances during the deployment process. This job's templates will be placed into /var/vcap/jobs/postgres/ directory (learn more).

  • bin/pgconfig.sh (from pgconfig.sh.erb)
  • bin/postgres_ctl (from postgres_ctl.sh.erb)
  • bin/postgres_start.sh (from postgres_start.sh.erb)
  • bin/pre-start (from pre-start.sh.erb)
  • bin/utils.sh (from utils.sh.erb)
  • config/certificates/server.ca_cert (from server.ca_cert.erb)
  • config/certificates/server.private_key (from server.private_key.erb)
  • config/certificates/server.public_cert (from server.public_cert.erb)
  • config/pg_hba.conf (from pg_hba.conf.erb)
  • config/pg_ident.conf (from pg_ident.conf.erb)
  • config/postgresql.conf (from postgresql.conf.erb)
  • config/roles.sql (from roles.sql.erb)

Packages

Packages are compiled and placed onto corresponding instances during the deployment process. Packages will be placed into /var/vcap/packages/ directory.