PostgreSQL Query

Use this activity to execute a simple or a complex SQL Query on a database. The PostgreSQL Query activity returns information in the form of rows.

Settings

The Settings tab has the following fields:

Field Description
Connection Name of the PostgreSQL database connection from which to retrieve information. You can select the connection from the drop-down list.

Input Settings

The Input Settings tab has the following fields:

Field Description
Query An SQL statement used to query the database. The query can be a simple query or a complex query. A complex query has nested SQL statements. You can construct prepared SQL queries by using substitution variables (or parameters) of the form ?<fieldname> in the query statement. For example, select * from student where name = ?name;
Each substitution variable identifies an input parameter whose mapped value is substituted into the substitution variable at runtime. You can reuse the substitution variable for the same input parameter elsewhere in the query. Input parameters used in the WHERE clause, and output parameters used in the SELECT clause, and their corresponding type information is automatically fetched from the database using the selected connection for the entered query. Input and output fields on the Input and Output tabs of the activity are also automatically generated.
Note: Be sure to include the semicolon (;) at the end of the query. This activity expects a query to end with a semicolon to indicate the end of the query. A missing semicolon at the end of the query results in the query hanging.
The following examples represent simple and complex queries:
  • Simple query example:

    SELECT * FROM student;

    For the above query, the output fields are generated from the column information of the table student.

    SELECT name, dept_name, tot_cred
        FROM student 
        WHERE dept_name = ?dept_name and tot_cred > ?tot_cred 
        ORDER BY dept_name;

    For the above query, output fields are generated for name, dept_name and tot_cred and input fields are generated for dept_name (varchar) and tot_cred (numeric). Also the mapped values for the fields, dept_name and tot_cred are substituted into the substitution variables ?dept_name and ?tot_cred at runtime.

  • Nested query example:

    SELECT *
        FROM (SELECT dept_name, SUM(tot_cred) AS total_credit
                FROM student
                GROUP BY dept_name) SUBS, department WHERE 
                SUBS.dept_name = department.dept_name AND total_credit > 8000;
    
Manually Configure Metadata If you see an error for a valid SQL statement in the Query field, set the Manually Configure Metadata field to True to fetch table metadata manually using simple SELECT statement. For more information, see Manually Configure Metadata.
Fields The grid is provided for informational purposes only.

Input

This tab contains the input schema. The fields that were selected on the Input Settings tab will be available in the schema. You can either hard code their values or map them to a field from the output of a preceding activity in the flow using the Mapper.

Output

This tab displays the activity output schema in a tree structure format. The output of an activity is displayed for informational purposes only and cannot be modified or altered. The information in this schema varies depending on the fields that you selected on the Input Settings tab.

The properties that are displayed on the Output tab schema correspond to the output of this activity and can be used as input by subsequent activities in the flow.