1. Packages
  2. Postgresql Provider
  3. API Docs
  4. Provider
PostgreSQL v3.15.1 published on Saturday, Mar 15, 2025 by Pulumi

postgresql.Provider

Explore with Pulumi AI

The provider type for the postgresql package. By default, resources use package-wide configuration settings, however an explicit Provider instance may be created and passed during resource construction to achieve fine-grained programmatic control over provider settings. See the documentation for more information.

Create Provider Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Provider(name: string, args?: ProviderArgs, opts?: CustomResourceOptions);
@overload
def Provider(resource_name: str,
             args: Optional[ProviderArgs] = None,
             opts: Optional[ResourceOptions] = None)

@overload
def Provider(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             aws_rds_iam_auth: Optional[bool] = None,
             aws_rds_iam_profile: Optional[str] = None,
             aws_rds_iam_provider_role_arn: Optional[str] = None,
             aws_rds_iam_region: Optional[str] = None,
             azure_identity_auth: Optional[bool] = None,
             azure_tenant_id: Optional[str] = None,
             clientcert: Optional[ProviderClientcertArgs] = None,
             connect_timeout: Optional[int] = None,
             database: Optional[str] = None,
             database_username: Optional[str] = None,
             expected_version: Optional[str] = None,
             gcp_iam_impersonate_service_account: Optional[str] = None,
             host: Optional[str] = None,
             max_connections: Optional[int] = None,
             password: Optional[str] = None,
             port: Optional[int] = None,
             scheme: Optional[str] = None,
             ssl_mode: Optional[str] = None,
             sslmode: Optional[str] = None,
             sslrootcert: Optional[str] = None,
             superuser: Optional[bool] = None,
             username: Optional[str] = None)
func NewProvider(ctx *Context, name string, args *ProviderArgs, opts ...ResourceOption) (*Provider, error)
public Provider(string name, ProviderArgs? args = null, CustomResourceOptions? opts = null)
public Provider(String name, ProviderArgs args)
public Provider(String name, ProviderArgs args, CustomResourceOptions options)
type: pulumi:providers:postgresql
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args ProviderArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args ProviderArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args ProviderArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args ProviderArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ProviderArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Provider Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Provider resource accepts the following input properties:

AwsRdsIamAuth bool
Use rds_iam instead of password authentication (see: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
AwsRdsIamProfile string
AWS profile to use for IAM auth
AwsRdsIamProviderRoleArn string
AWS IAM role to assume for IAM auth
AwsRdsIamRegion string
AWS region to use for IAM auth
AzureIdentityAuth bool
Use MS Azure identity OAuth token (see: https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication)
AzureTenantId string
Clientcert Pulumi.PostgreSql.Inputs.ProviderClientcert
SSL client certificate if required by the database.
ConnectTimeout int
Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely. It can also be sourced from the following environment variable: PGCONNECT_TIMEOUT
Database string
The name of the database to connect to in order to conenct to (defaults to postgres).
DatabaseUsername string
Database username associated to the connected user (for user name maps)
ExpectedVersion string
Specify the expected version of PostgreSQL.
GcpIamImpersonateServiceAccount string
Service account to impersonate when using GCP IAM authentication.
Host string
Name of PostgreSQL server address to connect to
MaxConnections int
Maximum number of connections to establish to the database. Zero means unlimited.
Password string
Password to be used if the PostgreSQL server demands password authentication
Port int
The PostgreSQL port number to connect to at the server host, or socket file name extension for Unix-domain connections
Scheme string
SslMode string

Deprecated: Rename PostgreSQL provider ssl_mode attribute to sslmode

Sslmode string
This option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the PostgreSQL server It can also be sourced from the following environment variable: PGSSLMODE
Sslrootcert string
The SSL server root certificate file path. The file must contain PEM encoded data.
Superuser bool
Specify if the user to connect as is a Postgres superuser or not.If not, some feature might be disabled (e.g.: Refreshing state password from Postgres)
Username string
PostgreSQL user name to connect as
AwsRdsIamAuth bool
Use rds_iam instead of password authentication (see: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
AwsRdsIamProfile string
AWS profile to use for IAM auth
AwsRdsIamProviderRoleArn string
AWS IAM role to assume for IAM auth
AwsRdsIamRegion string
AWS region to use for IAM auth
AzureIdentityAuth bool
Use MS Azure identity OAuth token (see: https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication)
AzureTenantId string
Clientcert ProviderClientcertArgs
SSL client certificate if required by the database.
ConnectTimeout int
Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely. It can also be sourced from the following environment variable: PGCONNECT_TIMEOUT
Database string
The name of the database to connect to in order to conenct to (defaults to postgres).
DatabaseUsername string
Database username associated to the connected user (for user name maps)
ExpectedVersion string
Specify the expected version of PostgreSQL.
GcpIamImpersonateServiceAccount string
Service account to impersonate when using GCP IAM authentication.
Host string
Name of PostgreSQL server address to connect to
MaxConnections int
Maximum number of connections to establish to the database. Zero means unlimited.
Password string
Password to be used if the PostgreSQL server demands password authentication
Port int
The PostgreSQL port number to connect to at the server host, or socket file name extension for Unix-domain connections
Scheme string
SslMode string

Deprecated: Rename PostgreSQL provider ssl_mode attribute to sslmode

Sslmode string
This option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the PostgreSQL server It can also be sourced from the following environment variable: PGSSLMODE
Sslrootcert string
The SSL server root certificate file path. The file must contain PEM encoded data.
Superuser bool
Specify if the user to connect as is a Postgres superuser or not.If not, some feature might be disabled (e.g.: Refreshing state password from Postgres)
Username string
PostgreSQL user name to connect as
awsRdsIamAuth Boolean
Use rds_iam instead of password authentication (see: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
awsRdsIamProfile String
AWS profile to use for IAM auth
awsRdsIamProviderRoleArn String
AWS IAM role to assume for IAM auth
awsRdsIamRegion String
AWS region to use for IAM auth
azureIdentityAuth Boolean
Use MS Azure identity OAuth token (see: https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication)
azureTenantId String
clientcert ProviderClientcert
SSL client certificate if required by the database.
connectTimeout Integer
Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely. It can also be sourced from the following environment variable: PGCONNECT_TIMEOUT
database String
The name of the database to connect to in order to conenct to (defaults to postgres).
databaseUsername String
Database username associated to the connected user (for user name maps)
expectedVersion String
Specify the expected version of PostgreSQL.
gcpIamImpersonateServiceAccount String
Service account to impersonate when using GCP IAM authentication.
host String
Name of PostgreSQL server address to connect to
maxConnections Integer
Maximum number of connections to establish to the database. Zero means unlimited.
password String
Password to be used if the PostgreSQL server demands password authentication
port Integer
The PostgreSQL port number to connect to at the server host, or socket file name extension for Unix-domain connections
scheme String
sslMode String

Deprecated: Rename PostgreSQL provider ssl_mode attribute to sslmode

sslmode String
This option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the PostgreSQL server It can also be sourced from the following environment variable: PGSSLMODE
sslrootcert String
The SSL server root certificate file path. The file must contain PEM encoded data.
superuser Boolean
Specify if the user to connect as is a Postgres superuser or not.If not, some feature might be disabled (e.g.: Refreshing state password from Postgres)
username String
PostgreSQL user name to connect as
awsRdsIamAuth boolean
Use rds_iam instead of password authentication (see: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
awsRdsIamProfile string
AWS profile to use for IAM auth
awsRdsIamProviderRoleArn string
AWS IAM role to assume for IAM auth
awsRdsIamRegion string
AWS region to use for IAM auth
azureIdentityAuth boolean
Use MS Azure identity OAuth token (see: https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication)
azureTenantId string
clientcert ProviderClientcert
SSL client certificate if required by the database.
connectTimeout number
Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely. It can also be sourced from the following environment variable: PGCONNECT_TIMEOUT
database string
The name of the database to connect to in order to conenct to (defaults to postgres).
databaseUsername string
Database username associated to the connected user (for user name maps)
expectedVersion string
Specify the expected version of PostgreSQL.
gcpIamImpersonateServiceAccount string
Service account to impersonate when using GCP IAM authentication.
host string
Name of PostgreSQL server address to connect to
maxConnections number
Maximum number of connections to establish to the database. Zero means unlimited.
password string
Password to be used if the PostgreSQL server demands password authentication
port number
The PostgreSQL port number to connect to at the server host, or socket file name extension for Unix-domain connections
scheme string
sslMode string

Deprecated: Rename PostgreSQL provider ssl_mode attribute to sslmode

sslmode string
This option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the PostgreSQL server It can also be sourced from the following environment variable: PGSSLMODE
sslrootcert string
The SSL server root certificate file path. The file must contain PEM encoded data.
superuser boolean
Specify if the user to connect as is a Postgres superuser or not.If not, some feature might be disabled (e.g.: Refreshing state password from Postgres)
username string
PostgreSQL user name to connect as
aws_rds_iam_auth bool
Use rds_iam instead of password authentication (see: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
aws_rds_iam_profile str
AWS profile to use for IAM auth
aws_rds_iam_provider_role_arn str
AWS IAM role to assume for IAM auth
aws_rds_iam_region str
AWS region to use for IAM auth
azure_identity_auth bool
Use MS Azure identity OAuth token (see: https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication)
azure_tenant_id str
clientcert ProviderClientcertArgs
SSL client certificate if required by the database.
connect_timeout int
Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely. It can also be sourced from the following environment variable: PGCONNECT_TIMEOUT
database str
The name of the database to connect to in order to conenct to (defaults to postgres).
database_username str
Database username associated to the connected user (for user name maps)
expected_version str
Specify the expected version of PostgreSQL.
gcp_iam_impersonate_service_account str
Service account to impersonate when using GCP IAM authentication.
host str
Name of PostgreSQL server address to connect to
max_connections int
Maximum number of connections to establish to the database. Zero means unlimited.
password str
Password to be used if the PostgreSQL server demands password authentication
port int
The PostgreSQL port number to connect to at the server host, or socket file name extension for Unix-domain connections
scheme str
ssl_mode str

Deprecated: Rename PostgreSQL provider ssl_mode attribute to sslmode

sslmode str
This option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the PostgreSQL server It can also be sourced from the following environment variable: PGSSLMODE
sslrootcert str
The SSL server root certificate file path. The file must contain PEM encoded data.
superuser bool
Specify if the user to connect as is a Postgres superuser or not.If not, some feature might be disabled (e.g.: Refreshing state password from Postgres)
username str
PostgreSQL user name to connect as
awsRdsIamAuth Boolean
Use rds_iam instead of password authentication (see: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html)
awsRdsIamProfile String
AWS profile to use for IAM auth
awsRdsIamProviderRoleArn String
AWS IAM role to assume for IAM auth
awsRdsIamRegion String
AWS region to use for IAM auth
azureIdentityAuth Boolean
Use MS Azure identity OAuth token (see: https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/how-to-configure-sign-in-azure-ad-authentication)
azureTenantId String
clientcert Property Map
SSL client certificate if required by the database.
connectTimeout Number
Maximum wait for connection, in seconds. Zero or not specified means wait indefinitely. It can also be sourced from the following environment variable: PGCONNECT_TIMEOUT
database String
The name of the database to connect to in order to conenct to (defaults to postgres).
databaseUsername String
Database username associated to the connected user (for user name maps)
expectedVersion String
Specify the expected version of PostgreSQL.
gcpIamImpersonateServiceAccount String
Service account to impersonate when using GCP IAM authentication.
host String
Name of PostgreSQL server address to connect to
maxConnections Number
Maximum number of connections to establish to the database. Zero means unlimited.
password String
Password to be used if the PostgreSQL server demands password authentication
port Number
The PostgreSQL port number to connect to at the server host, or socket file name extension for Unix-domain connections
scheme String
sslMode String

Deprecated: Rename PostgreSQL provider ssl_mode attribute to sslmode

sslmode String
This option determines whether or with what priority a secure SSL TCP/IP connection will be negotiated with the PostgreSQL server It can also be sourced from the following environment variable: PGSSLMODE
sslrootcert String
The SSL server root certificate file path. The file must contain PEM encoded data.
superuser Boolean
Specify if the user to connect as is a Postgres superuser or not.If not, some feature might be disabled (e.g.: Refreshing state password from Postgres)
username String
PostgreSQL user name to connect as

Outputs

All input properties are implicitly available as output properties. Additionally, the Provider resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Supporting Types

ProviderClientcert
, ProviderClientcertArgs

Cert This property is required. string
The SSL client certificate file path. The file must contain PEM encoded data.
Key This property is required. string
The SSL client certificate private key file path. The file must contain PEM encoded data.
Sslinline bool
Must be set to true if you are inlining the cert/key instead of using a file path.
Cert This property is required. string
The SSL client certificate file path. The file must contain PEM encoded data.
Key This property is required. string
The SSL client certificate private key file path. The file must contain PEM encoded data.
Sslinline bool
Must be set to true if you are inlining the cert/key instead of using a file path.
cert This property is required. String
The SSL client certificate file path. The file must contain PEM encoded data.
key This property is required. String
The SSL client certificate private key file path. The file must contain PEM encoded data.
sslinline Boolean
Must be set to true if you are inlining the cert/key instead of using a file path.
cert This property is required. string
The SSL client certificate file path. The file must contain PEM encoded data.
key This property is required. string
The SSL client certificate private key file path. The file must contain PEM encoded data.
sslinline boolean
Must be set to true if you are inlining the cert/key instead of using a file path.
cert This property is required. str
The SSL client certificate file path. The file must contain PEM encoded data.
key This property is required. str
The SSL client certificate private key file path. The file must contain PEM encoded data.
sslinline bool
Must be set to true if you are inlining the cert/key instead of using a file path.
cert This property is required. String
The SSL client certificate file path. The file must contain PEM encoded data.
key This property is required. String
The SSL client certificate private key file path. The file must contain PEM encoded data.
sslinline Boolean
Must be set to true if you are inlining the cert/key instead of using a file path.

Package Details

Repository
PostgreSQL pulumi/pulumi-postgresql
License
Apache-2.0
Notes
This Pulumi package is based on the postgresql Terraform Provider.