An set of mixins and classes for interacting with PostgreSQL using asyncio in Tornado / sprockets.http applications using aiopg.
sprockets-postgres
is available on the Python package index and is installable via pip:
pip install sprockets-postgres
Documentation is available at sprockets-postgres.readthedocs.io.
The following table details the environment variable configuration options:
Variable | Definition | Default |
---|---|---|
POSTGRES_URL |
The PostgreSQL URL to connect to | |
POSTGRES_MAX_POOL_SIZE |
Maximum connection count to Postgres per backend | 10 |
POSTGRES_MIN_POOL_SIZE |
Minimum or starting pool size. | 1 |
POSTGRES_CONNECTION_TIMEOUT |
The maximum time in seconds to spend attempting to create a new connection. | 10 |
POSTGRES_CONNECTION_TTL |
Time-to-life in seconds for a pooled connection. | 300 |
POSTGRES_QUERY_TIMEOUT |
Maximum execution time for a query in seconds. | 60 |
POSTGRES_HSTORE |
Enable HSTORE support in the client. | FALSE |
POSTGRES_JSON |
Enable JSON support in the client. | FALSE |
POSTGRES_UUID |
Enable UUID support in the client. | TRUE |
If POSTGRES_URL
uses a scheme of postgresql+srv
, a SRV DNS lookup will be performed and the lowest priority record with the highest weight will be selected for connecting to Postgres.
AWS's ECS service discovery does not follow the SRV standard, but creates SRV records. If POSTGRES_URL
uses a scheme of aws+srv
, a SRV DNS lookup will be performed using the correct format for ECS service discovery. The lowest priority record with the highest weight will be selected for connecting to Postgres.
Available at https://sprockets-postgres.readthedocs.org/en/latest/history.html