terraform/website/source/docs/providers/postgresql/index.html.markdown

2.6 KiB

layout page_title sidebar_current description
postgresql Provider: PostgreSQL docs-postgresql-index A provider for PostgreSQL Server.

PostgreSQL Provider

The PostgreSQL provider gives the ability to deploy and configure resources in a PostgreSQL server.

Use the navigation to the left to read about the available resources.

Usage

provider "postgresql" {
  host = "postgres_server_ip"
  port = 5432
  database = "postgres"
  username = "postgres_user"
  password = "postgres_password"
  sslmode = "require"
  connect_timeout = 15
}

Configuring multiple servers can be done by specifying the alias option.

provider "postgresql" {
  alias = "pg1"
  host = "postgres_server_ip1"
  username = "postgres_user1"
  password = "postgres_password1"
}

provider "postgresql" {
  alias = "pg2"
  host = "postgres_server_ip2"
  username = "postgres_user2"
  password = "postgres_password2"
}

resource "postgresql_database" "my_db1" {
  provider = "postgresql.pg1"
  name = "my_db1"
}
resource "postgresql_database" "my_db2" {
  provider = "postgresql.pg2"
  name = "my_db2"
}


Argument Reference

The following arguments are supported:

  • host - (Required) The address for the postgresql server connection.
  • port - (Optional) The port for the postgresql server connection. The default is 5432.
  • database - (Optional) Database to connect to. The default is postgres.
  • username - (Required) Username for the server connection.
  • password - (Optional) Password for the server connection.
  • sslmode - (Optional) Set the priority for an SSL connection to the server. Valid values for sslmode are (note: prefer is not supported by Go's lib/pq):
    • disable - No SSL
    • require - Always SSL (the default, also skip verification)
    • verify-ca - Always SSL (verify that the certificate presented by the server was signed by a trusted CA)
    • verify-full - Always SSL (verify that the certification presented by the server was signed by a trusted CA and the server host name matches the one in the certificate) Additional information on the options and their implications can be seen in the libpq(3) SSL guide.
  • connect_timeout - (Optional) Maximum wait for connection, in seconds. Zero means wait indefinitely, the default is 15. The default is prefer; the full set of options and their implications can be seen in the libpq SSL guide.