Postgresql

A clearskies PostgreSQL cursor configured from environment variables.

  1. Overview
  2. hostname_environment_key
  3. username_environment_key
  4. password_environment_key
  5. database_environment_key
  6. port_environment_key
  7. cert_path_environment_key
  8. autocommit_environment_key
  9. port_forwarding

Overview

This class provides a PostgreSQL cursor implementation that reads connection parameters from environment variables, making it easy to configure for different environments. It supports all features of the base Postgresql class, including port forwarding via the port_forwarding parameter.

Environment Variable Keys

The following environment variables are used by default (can be overridden):

  • DATABASE_HOST: Hostname of the PostgreSQL server.
  • DATABASE_USERNAME: Username for authentication.
  • DATABASE_PASSWORD: Password for authentication.
  • DATABASE_NAME: Name of the database.
  • DATABASE_PORT: Port number (optional).
  • DATABASE_CERT_PATH: Path to SSL certificate (optional).
  • DATABASE_AUTOCOMMIT: Autocommit setting (optional).
  • DATABASE_CONNECT_TIMEOUT: Connection timeout (optional).

Port Forwarding

The port_forwarding parameter accepts an instance of a subclass of PortForwarder, enabling SSM or SSH-based port forwarding if required.

Example

from clearskies.cursors.port_forwarding.ssm import SSMPortForwarder
import clearskies

cursor = clearskies.cursors.from_environment.Postgresql(
    port_forwarding=SSMPortForwarder(
        instance_id="i-1234567890abcdef0",
        region="eu-west-1",
    ),
)
cursor.execute("SELECT * FROM users")
results = cursor.fetchall()

hostname_environment_key

Optional

Environment variable key for the PostgreSQL server hostname.

username_environment_key

Optional

Environment variable key for the PostgreSQL username.

password_environment_key

Optional

Environment variable key for the PostgreSQL password.

database_environment_key

Optional

Environment variable key for the database name.

port_environment_key

Optional

Environment variable key for the PostgreSQL server port (optional).

cert_path_environment_key

Optional

Environment variable key for the SSL certificate path (optional).

autocommit_environment_key

Optional

Environment variable key for the autocommit setting (optional).

port_forwarding

Optional