Postgresql
A clearskies PostgreSQL cursor configured from environment variables.
- Overview
- hostname_environment_key
- username_environment_key
- password_environment_key
- database_environment_key
- port_environment_key
- cert_path_environment_key
- autocommit_environment_key
- 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