> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sync.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PostgreSQL

export const CommonDatasourceMoreInformation = ({datasource = "the data source", advancedurl = "", siteName = "CData Sync", driverVersion = ""}) => {
  return <>
      <p>
        For more information about interactions between {siteName} and {datasource}, see{' '}
        <a href={`https://cdn.cdata.com/help/${advancedurl}${driverVersion}/synch/default.htm`}>
          {datasource} Connector for {siteName}
        </a>.
      </p>
    </>;
};

export const CommonAuthSchemeAwsec2roles = ({siteName = "CData Sync", siteNameShort = "Sync", datasource = "the data source"}) => {
  return <>
      <p>
        When you run {siteName} on an EC2 instance, {siteName} can authenticate by using the IAM role that is assigned to the instance. Select <strong>AwsEC2Roles</strong> for <strong>Auth Scheme</strong> to use that role. No additional properties are required.
      </p>
    </>;
};

export const CommonDatasourceAddConnector = ({datasource = "the data source", title = "the connector", destination = false, siteNameShort = "Sync"}) => {
  return <>
      <p>
        To enable {siteNameShort} to use data from {datasource}, you first must add the
        connector, as follows:
      </p>
      <ol>
        <li>Open the <strong>Connections</strong> page of the {siteNameShort} dashboard.</li>
        <li>Click <strong>Add Connection</strong> to open the <strong>Select Connectors</strong> page.</li>
        <li>
          Click the <strong>{destination ? "Destinations" : "Sources"}</strong> tab and locate
          the <strong>{title}</strong> row.
        </li>
        <li>
          Click the <strong>Configure Connection</strong> icon at the end of that row to open
          the <strong>New Connection</strong> page. This action opens the{' '}
          <strong>Add Connection</strong> dialog box.
          <br />
          <strong>Note:</strong> If the <strong>Configure Connection</strong> icon is not
          available, click the <strong>Download Connector</strong> icon to install
          the {title} connector.
        </li>
        <li>Enter a name for your connection in the <strong>Add Connection</strong> dialog box.</li>
        <li>Click <strong>Add</strong> to open the <strong>Settings</strong> tab for your connector.</li>
      </ol>
      <p>
        For more information about installing new connectors, see{' '}
        <a href="../connections">Connections</a>.
      </p>
    </>;
};

export const CommonDatasourceIntroDestination = ({datasource = "the data source", siteName = "CData Sync"}) => {
  return <p>
      You can use the {datasource} connector from the {siteName} application to move data
      from any supported source to the {datasource} destination. To do so, you need to add
      the connector, authenticate to the connector, and complete your connection.
    </p>;
};

export const driverVersion = "M";

export const siteNameShort = "Sync";

export const siteName = "CData Sync";

<CommonDatasourceIntroDestination datasource="PostgreSQL" siteName={siteName} />

## Add the PostgreSQL Connector

<CommonDatasourceAddConnector datasource="PostgreSQL" title="PostgreSQL" destination={true} siteNameShort={siteNameShort} />

## Authenticate to PostgreSQL

After you add the connector, you need to set the required properties.

**Server:** Enter the host name or IP of the server that hosts the PostgreSQL database. The default server value is **localhost**.

{siteName} supports authenticating to PostgreSQL in several ways. Select your authentication method below to proceed to the relevant section that contains the authentication details.

* [**Password**](#password) (default)
* [**Azure Active Directory**](#azure-active-directory)
* [**Azure Password**](#azure-password)
* [**Azure Managed Service Identity**](#azure-managed-service-identity)
* [**Aws IAM Roles**](#aws-iam-roles)
* [**Aws EC2 Roles**](#aws-ec2-roles)
* [**GCP Service Account**](#gcp-service-account)

### Password

To connect with user credentials, specify the following properties:

* **Auth Scheme:** Select **Password**.
* **User:** Enter the username that you use to authenticate to your PostgreSQL account.
* **Password:** Enter the password that you use to authenticate to your PostgreSQL account.

### Azure Active Directory

To connect with Azure Active Directory, specify the following properties:

* **Auth Scheme:** Select **AzureAD**.
* **User:** Enter the username that you use to authenticate to your PostgreSQL account.
* **Azure Tenant:** Enter the Microsoft Online tenant to which you want to connect. If you do not specify the tenant, {siteName} uses the default tenant.
* **OAuth Client Id:** Enter the client Id that you were assigned when you registered your application with an OAuth authorization server.
* **OAuth Client Secret:** Enter the client secret that you were assigned when you registered your application with an OAuth authorization server.

### Azure Password

To connect with Azure user credentials, specify the following properties:

* **Auth Scheme:** Select **AzurePassword**.
* **User:** Enter the username that you use to authenticate to your Azure account.
* **Password:** Enter the password that you use to connect to your Azure account.
* **Azure Tenant:** Enter the Microsoft Online tenant to which you want to connect. If you do not specify a tenant, {siteName} uses the default tenant.

### Azure Managed Service Identity

To connect with Azure Managed Service Identity, specify the following properties:

* **Auth Scheme:** Select **AzureMSI**.
* **User:** Enter the username that you use to authenticate to your PostgreSQL account.

### Aws IAM Roles

To connect with IAM user credentials, specify the following properties:

* **Auth Scheme:** Select **AwsIAMRoles**.
* **User:** Enter the username that you use to authenticate to your PostgreSQL account.
* **AWS Access Key:** Enter your Amazon Web Services (AWS) account access key. This value is available on you AWS security-credentials page.
* **AWS Secret:** Enter your Amazon Web Services (AWS) account secret. This value is available on you AWS security-credentials page.
* **AWS Role Arn:** Enter the Amazon Resource Name of the role that you want to use when you authenticate.
* (Optional) **AWS External Id:** Enter a unique identifier that might be required when you assume a role in another account.

### AWS EC2 Roles

<CommonAuthSchemeAwsec2roles siteName={siteName} />

### GCP Service Account

To connect with a GCP service account, specify the following properties:

* **Auth Scheme:** Select **GCPServiceAccount**.
* **OAuth JWT Cert:** Enter your Java web tokens (JWT) certificate store.
* **OAuth JWT Cert Type:** Enter the type of key store that contains your JWT Certificate. The default type is **PEMKEY\_BLOB**.
* (Optional) **OAuth JWT Cert Password:** Enter the password for your OAuth JWT certificate.
* (Optional) **OAuth JWT Cert Subject:** Enter the user subject for which the application is requesting delegated access.

## Complete Your Connection

To complete your connection:

1. Specify these settings:
   * **Database:** Enter the name of the database that to which you want to connect when you connect to the PostgreSQL server.
   * **Port:** Enter the port number of the server that hosts the PostgreSQL database. The default port value is **5432**.
2. Define advanced connection settings on the **Advanced** tab. (In most cases, though, you should not need these settings.)
3. If you authenticate with AzureAD, AzurePassword, AzureMSI, or GCPServiceAccount, click **Connect to PostgreSQL** to connect to your PostgreSQL account.
4. Click **Create & Test** to create your connection.

## More Information

<CommonDatasourceMoreInformation datasource="PostgreSQL" advancedurl="FP" siteName={siteName} driverVersion={driverVersion} />
