PostgreSQL

PostgreSQL is an open source and customizable object-relational database. You can add a PostgreSQL data source as an infrastructure component.

watsonx.data on IBM Software Hub

watsonx.data Developer edition

PostgreSQL

You can add PostgreSQL as a data source infrastructure component in the following ways:

Create new connection - configuration details

Table 1. Create new connection - configuration details
Field Description
Target persistence

Select the target persistence:

  • watsonx.data instance - The instance console database stores the connection details exclusively.
  • Platform asset catalog - The default catalog in the data platform stores your connection details. If you select Platform asset catalog as the target persistence, you must specify a warehouse name. You can select the Platform asset catalog option only if data platform services are active, a Platform asset catalog exists in the data platform, and you have access to it.
Display name The name of the new infrastructure component.
Database name Enter the name of your database.
Hostname Enter the Hostname.
Port Enter the Port number.
Username Enter the Username.
Password Enter the Password.
Port is SSL enabled Use the toggle switch to enable or disable SSL connection. If enabled,

i. The Upload SSL certificate (.pem, .crt, .cert, or .cer) link is enabled.

ii. Click the Upload SSL certificate (.pem, .crt, .cert, or .cer) link.

iii. Browse the SSL certificate and upload.

Connection status Click the Test connection link to test the database connection. If the database connection is successful, a success message appears.

Console UI

Associate catalog

Console UI

Select the checkbox to add a catalog for your storage. This catalog is associated with your storage and serves as your query interface with the data stored within.
Catalog name / Name
  • Console UI

    Catalog name: Enter the name of the catalog.
  • Platform UI

    Name: Enter the name of the database associated with your data source. The database serves as your query interface with the data stored within.
Create
  • Click Create to create the data source.

Importing an existing connection

Table 2. Importing an existing connection
Field Description
Select the location of the existing connection

Select from where to import the connection:

  • Select a project on the Import from project tab.
  • Console UI

    Select the connection on the Import from platform catalog tab.
  • Platform UI

    Select the connection on the Import from database tab.
Important: Connections can only be imported from catalogs, databases, or projects that are on the same cluster. Catalogs, databases, or projects created in a different cluster within the data platform cannot be imported.
Select data source Use the dropdown to select a data source from the selected catalog, database, or project.
Target persistence

Select the target persistence:

  • watsonx.data instance - The instance console database stores the connection details exclusively.
  • Platform asset catalog - The default catalog in the data platform stores your connection details. If you select Platform asset catalog as the target persistence, you must specify a warehouse name. You can select the Platform asset catalog option only if data platform services are active, a Platform asset catalog exists in the data platform, and you have access to it.
Display name The name of the new infrastructure component.

Console UI

Associate catalog

Console UI

Select the checkbox to add a catalog for your storage. This catalog is associated with your storage and serves as your query interface with the data stored within.
Catalog name / Name
  • Console UI

    Catalog name: Enter the name of the catalog.
  • Platform UI

    Name: Enter the name of the database associated with your data source. The database serves as your query interface with the data stored within.
Create Click Create to create the database.
Note: Enable the toggle switch for Validate certificate option to create the PostgreSQL database. If disabled, the Test connection feature does not work and the database cannot be added to the engine.

Limitations for SQL statements

  • DROP TABLE statement is supported only when enabled in catalog.
  • For the database-based catalogs, CREATE SCHEMA, CREATE TABLE, DROP SCHEMA, DROP TABLE, DELETE, DROP VIEW, ALTER TABLE, and ALTER SCHEMA statements are not available in the Data manager UI.

Limitations for data types

  • BLOB and CLOB data types can be used as an equivalent alternative to BYTEA and TEXT respectively.
  • BLOB and CLOB data types support SELECT statement but do not support operations such as equal, like, and in.
  • The data that is shown for the BLOB data type from the UI is in Base64 format, while the result from presto-cli is in hexadecimal format.
  • BINARY data type supports only SELECT statement.
  • BYTEA is the BINARY alternative data type.
  • When the fields of data type REAL have 6 digits or more in the decimal part with the digits being predominately zero, the values when queried are rounded off. It is observed that the rounding off occurs differently based on the precision of the values. For example, a decimal number 1.654 when rounded to 3-digits after the decimal point are the same. Another example is 10.890009 and 10.89000. It is noticed that 10.89000 is rounded to 10.89, whereas 10.89009 is not rounded off. This is an inherent issue because of the representational limitations of binary floating point formats. This might have a significant impact when querying involves sorting.