PostgreSQL

Last modified on October 4, 2023

To add PostgreSQL or PostgreSQL (mTLS) as a datasource in the Admin UI, set the following configuration properties. For more information, see our main guide, Add a Datasource.

The mutual TLS (mTLS) version of this datasource Type is available if you need certificates to reach the Postgres port, rather than username and password. This is of particular importance with GCP-hosted Postgres, for which it is the default expected behavior.

PostgreSQL Configuration Properties

Add PostgreSQL Datasource Dialog
Add PostgreSQL Datasource Dialog
  • Display Name (Required): Enter a meaningful name for this resource, such as “PostgreSQL.” This name displays throughout StrongDM. Do not include special characters like quotes (") or angle brackets (< or >).
  • Datasource Type (Required): Select PostgreSQL.
  • Hostname (Required): Enter the hostname. Note that it must be accessible to a gateway or relay.
  • Port (Required): Enter the port to connect to the resource (default: 5432).
  • Bind Interface (Read only): Bind Interface is the IP address to which the port override of this resource is bound. The IP address value is automatically generated in the 127.0.0.1 to 127.255.255.254 IP address range after the resource is created. The default is 127.0.0.1. You can modify this value with your preferred bind interface value later under Settings > Port Overrides.
  • Port Override (Read only): After this datasource has been created, this field will be automatically filled with a port between 1024-59999 that is not in use by another datasource. You can optionally overwrite it with your own preferred port later in the Port Overrides settings.
  • Database (Required): Enter the name of the database you will be connecting to with this datasource.
  • Secret Store (Optional): This field lets you specify where the credentials for this resource are stored. The default Secret Store type is Strong Vault. Selecting any other Secret Store type causes properties unique to that secret store to appear, such as Username (path), Password (path), and so forth. For more detailed information about path to the secrets you have stored in a particular secret store, see the Secret Store integration configuration guide for the one you are using.
  • Username (Required): This field is shown when Secret Store integration is not configured for your organization, or when it is and StrongDM is the selected Secret Store type. Enter the username of the user that will be used for this datasource.
  • Username (path) (Required): If Secret Store integration is configured for your organization and you selected a Secret Store type that is not StrongDM, enter the path to the secret in your secret store (for example, path/to/credential?key=optionalKeyName). The key argument is optional.
  • Password (Required): This field is shown when Secret Store integration is not configured for your organization, or when it is and StrongDM is the selected Secret Store type. Enter the password of the user that will be used for this datasource.
  • Password (path) (Required): If Secret Store integration is configured for your organization and you selected a Secret Store type that is not StrongDM, enter the path to the secret in your Secret Store (for example, path/to/credential?key=optionalKeyName). The key argument is optional.
  • Override Database (Optional): By default, StrongDM will limit all connections to the configured PostgreSQL database. Uncheck the box to disable this option.
  • Resource Tags (Optional): Assign tags to the datasource by entering key-value pairs in the format <KEY>=<VALUE> (for example, env=dev, region=us-east-1, and so forth).

PostgreSQL (mTLS) Configuration Properties

Add PostgreSQL (mTLS) Datasource Dialog
Add PostgreSQL (mTLS) Datasource Dialog
  • Display Name (Required): Enter a meaningful name for this resource, such as “PostgreSQL.” This name displays throughout StrongDM. Do not include special characters like quotes (") or angle brackets (< or >).
  • Datasource Type (Required): Select PostgreSQL (mTLS).
  • Hostname (Required): Enter the hostname. Note that it must be accessible to a gateway or relay.
  • Port (Required): Enter the port to connect to the resource (default: 5432).
  • Bind Interface (Read only): Bind Interface is the IP address to which the port override of this resource is bound. The IP address value is automatically generated in the 127.0.0.1 to 127.255.255.254 IP address range after the resource is created. You can modify this value with your preferred bind interface value later under Settings > Port Overrides.
  • Port Override: After this datasource has been created, this field will be automatically filled with a port between 1024-59999 that is not in use by another datasource. You can optionally overwrite it with your own preferred port later in the Port Overrides settings.
  • Database (Required): Enter the name of the database you will be connecting to with this datasource.
  • Secret Store: This field lets you specify where the credentials for this resource are stored. The default Secret Store type is Strong Vault. Selecting any other Secret Store type causes properties unique to that Secret Store to appear, such as Username (path), Password (path), and so forth. For more detailed information about path to the secrets you’ve stored in a particular Secret Store, see the Secret Store integration configuration guide for the one you are using.
  • Username (Required): This field is shown when Secret Store integration is not configured for your organization, or when it is and StrongDM is the selected Secret Store type. Enter the username of the user that will be used for this datasource.
  • Username (path) (Required): If Secret Store integration is configured for your organization and you selected a Secret Store type that is not StrongDM, enter the path to the secret in your Secret Store (for example, path/to/credential?key=optionalKeyName). The key argument is optional.
  • Password (Required): This field is shown when Secret Store integration is not configured for your organization, or when it is and StrongDM is the selected Secret Store type. Enter the password of the user that will be used for this datasource.
  • Password (path) (Required): If Secret Store integration is configured for your organization and you selected a Secret Store type that is not StrongDM, enter the path to the secret in your Secret Store (for example, path/to/credential?key=optionalKeyName). The key argument is optional.
  • Server CA (Required): This field is shown when Secret Store integration is not configured for your organization, or when it is and StrongDM is the selected Secret Store type. Paste the server certificate (plaintext or Base64-encoded), or import a PEM file.
  • Server CA (path) (Required): If Secret Store integration is configured for your organization and you selected a Secret Store type that is not StrongDM, enter the path to the secret in your Secret Store (for example, path/to/credential?key=optionalKeyName). The key argument is optional.
  • Client Certificate (Required): This field is shown when Secret Store integration is not configured for your organization, or when it is and StrongDM is the selected Secret Store type. Paste the client certificate (plaintext or Base64-encoded), or import a PEM file.
  • Client Certificate (path) (Required): If Secret Store integration is configured for your organization and you selected a Secret Store type that is not StrongDM, enter the path to the secret in your Secret Store (for example, path/to/credential?key=optionalKeyName). The key argument is optional.
  • Client Key (Required): This field is shown when Secret Store integration is not configured for your organization, or when it is and StrongDM is the selected Secret Store type. Paste the client key (plaintext or Base64-encoded), or import a PEM file.
  • Client Key (path) (Required): If Secret Store integration is configured for your organization and you selected a Secret Store type that is not StrongDM, enter the path to the secret in your Secret Store (for example, path/to/credential?key=optionalKeyName). The key argument is optional.
  • Override Database (Optional): By default, StrongDM will limit all connections to the configured PostgreSQL database. Uncheck the box to disable this option.
  • Server Name (Required): Enter the server name. For GCP, for example, the server name is the connection name of your instance in GCP without the region (for example, example-sandbox:my-instance-mtls-postgres). For non-GCP instances, the server name is the hostname/DNS name.
  • Resource Tags (Optional): Assign tags to the datasource by entering key-value pairs in the format <KEY>=<VALUE> (for example, env=dev, region=us-east-1, and so forth).