awswrangler.postgresql.connect¶
- awswrangler.postgresql.connect(connection: str | None = None, secret_id: str | None = None, catalog_id: str | None = None, dbname: str | None = None, boto3_session: Session | None = None, ssl_context: bool | SSLContext | None = None, timeout: int | None = None, tcp_keepalive: bool = True) pg8000.Connection¶
Return a pg8000 connection from a Glue Catalog Connection.
https://github.com/tlocke/pg8000
Note
You MUST pass a connection OR secret_id. Here is an example of the secret structure in Secrets Manager: { “host”:”postgresql-instance-wrangler.dr8vkeyrb9m1.us-east-1.rds.amazonaws.com”, “username”:”test”, “password”:”test”, “engine”:”postgresql”, “port”:”3306”, “dbname”: “mydb” # Optional }
- Parameters:
connection (
str|None) – Glue Catalog Connection name.secret_id (
str|None) – Specifies the secret containing the connection details that you want to retrieve. You can specify either the Amazon Resource Name (ARN) or the friendly name of the secret.catalog_id (
str|None) – The ID of the Data Catalog. If none is provided, the AWS account ID is used by default.dbname (
str|None) – Optional database name to overwrite the stored one.boto3_session (
Session|None) – The default boto3 session will be used if boto3_session isNone.ssl_context (
bool|SSLContext|None) – This governs SSL encryption for TCP/IP sockets. This parameter is forward to pg8000. https://github.com/tlocke/pg8000#functionstimeout (
int|None) – This is the time in seconds before the connection to the server will time out. The default is None which means no timeout. This parameter is forward to pg8000. https://github.com/tlocke/pg8000#functionstcp_keepalive (
bool) – IfTruethen use TCP keepalive. The default isTrue. This parameter is forwarded to pg8000. https://github.com/tlocke/pg8000#functions
- Return type:
Connection- Returns:
pg8000 connection.
Examples
>>> import awswrangler as wr >>> with wr.postgresql.connect("MY_GLUE_CONNECTION") as con: ... with con.cursor() as cursor: ... cursor.execute("SELECT 1") ... print(cursor.fetchall())