Skip to content

PostgreSQL

Bases: Spout

__init__(output, state, **kwargs)

Initialize the PostgreSQL class.

Parameters:

Name Type Description Default
output BatchOutput

An instance of the BatchOutput class for saving the data.

required
state State

An instance of the State class for maintaining the state.

required
**kwargs

Additional keyword arguments.

{}

Using geniusrise to invoke via command line

genius PostgreSQL rise \
    batch \
        --output_s3_bucket my_bucket \
        --output_s3_folder s3/folder \
    none \
    fetch \
        --args host=localhost port=5432 user=postgres password=postgres database=mydb query="SELECT * FROM table" page_size=100

Using geniusrise to invoke via YAML file

version: "1"
spouts:
    my_postgresql_spout:
        name: "PostgreSQL"
        method: "fetch"
        args:
            host: "localhost"
            port: 5432
            user: "postgres"
            password: "postgres"
            database: "mydb"
            query: "SELECT * FROM table"
            page_size: 100
        output:
            type: "batch"
            args:
                bucket: "my_bucket"
                s3_folder: "s3/folder"

fetch(host, port, user, password, database, query, page_size=100)

📖 Fetch data from a PostgreSQL database and save it in batch.

Parameters:

Name Type Description Default
host str

The PostgreSQL host.

required
port int

The PostgreSQL port.

required
user str

The PostgreSQL user.

required
password str

The PostgreSQL password.

required
database str

The PostgreSQL database name.

required
query str

The SQL query to execute.

required
page_size int

The number of rows to fetch per page. Defaults to 100.

100

Raises:

Type Description
Exception

If unable to connect to the PostgreSQL server or execute the query.