> For the complete documentation index, see [llms.txt](https://appsecurity.gitbook.io/devops/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://appsecurity.gitbook.io/devops/ppc/ppc-langs/backend/python/packages/databases/postgres.md).

# Postgres

## psycopg2

requiremensts:

```
psycopg2-binary==2.9.9
```

script:

```python
import psycopg2

conn = psycopg2.connect(**{
            'dbname': 'my_db',
            # 'sslmode': 'verify-full',
            'user': 'my_user',
            'password': 'my_password',
            'host': 'localhost',
            'port': 5432,
            'target_session_attrs': 'read-write'
        })
cur = conn.cursor()
cur.execute("CREATE TABLE test (id serial PRIMARY KEY, num integer, data varchar);")
cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (101, "test"))

SELECT_PHONES_IN_SELECTED_COUNTRY = """
    SELECT id
    FROM test
    WHERE data=%(some)s;
"""

# cur.execute("SELECT * FROM test;")
cur.execute(SELECT_PHONES_IN_SELECTED_COUNTRY, {"some": "test' or '1'='1"})
print(cur.fetchall())

print('test')
```
