Postgres

Configuration

Prism uses the psycopg2-binary module to instantiate and configure the Postgres connector. The specified configurations required in profile.yml are:

  • autocommit: toggle whether the connection commits changes to the database after executing. The default is True.

  • host: the hostname of Amazon Redshift cluster.

  • port: the port number of the Amazon Redshift cluster.

  • database: the name of the database to which you want to connect.

  • user: the user name to use for authentication.

  • password: the password to use for authentication

# profile.yml

<profile name here>: # change this!
   adapters:
    <postgres adapter name here>: # change this!
       type: postgres
       autocommit: True
       host:
       port:
       database:
       user:
       password:

Under the hood, Prism takes care of parsing the configuration variables and establishing a connection to your Postgres instance.

hooks.sql()

You can run queries against the Redshift cluster using the hooks.sql function:

def run(self, tasks, hooks):
    data = hooks.sql(
        adapter_name="<postgres adapter name>",
        query="SELECT * FROM table"
    )

Note that when return_type = None, the result will be a list tuples containing the query data.