# Python SDK with jdbc connector

**URL:** <https://openziti.discourse.group/t/python-sdk-with-jdbc-connector/606>\
**Category:** SDK Questions\
**Created:** [June 22, 2022, 7:56am UTC](https://openziti.discourse.group/t/python-sdk-with-jdbc-connector/606 "2022-06-22T07:56:00Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![markamind](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/markamind/32/157_2.png) [@markamind](https://openziti.discourse.group/u/markamind)\
**Post date:** [June 22, 2022, 7:56am UTC](https://openziti.discourse.group/t/python-sdk-with-jdbc-connector/606/1 "2022-06-22T07:56:00Z")

</div>

I know there is a JDBC driver for the Java SDK

Checking if there is anything similar for the Python SDK?

Any tips?

---

<div class="post-metadata">

**Author:** ![markamind](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/markamind/32/157_2.png) [@markamind](https://openziti.discourse.group/u/markamind)\
**Post date:** [June 22, 2022, 8:49am UTC](https://openziti.discourse.group/t/python-sdk-with-jdbc-connector/606/2 "2022-06-22T08:49:32Z")

</div>

> After reviewing the java SDK.. the first step would be something like the following

ziti edge create config private-postgres-cfg ziti-tunneler-client.v1 '{ "hostname" : "zitified-postgres", "port" : 5432 }'

ziti edge create service private-postgres --configs private-postgres-cfg -a "private-postgres-services"

ziti edge create terminator "private-postgres" "ziti-private-blue" tcp:postgres-db:5432

ziti edge create service-policy postgres-dial-policy Dial --identity-roles '#postgres-clients' --service-roles '#private-postgres-services'

> the next step is to use a monkeypatch to make a call.. though I am not really sure how this would be setup for a client

---

<div class="post-metadata">

**Author:** ![markamind](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/markamind/32/157_2.png) [@markamind](https://openziti.discourse.group/u/markamind)\
**Post date:** [June 22, 2022, 8:53am UTC](https://openziti.discourse.group/t/python-sdk-with-jdbc-connector/606/3 "2022-06-22T08:53:24Z")

</div>

Maybe it could be something like this.. but I need to test it out

> it assumes that a tunneler app is running  
> not 100% sure how to configure it without the tunneler

openziti.monkeypatch()

conn = psycopg2.connect(  
host="zitified-postgres",  
database="simpledb",  
user="postgres",  
password="Abcd1234")

```
  # create a cursor
    cur = conn.cursor()

  print('PostgreSQL database version:')
    cur.execute('SELECT version()')

    # display the PostgreSQL database server version
    db_version = cur.fetchone()
    print(db_version)
   
# close the communication with the PostgreSQL
    cur.close()
except (Exception, psycopg2.DatabaseError) as error:
    print(error)
finally:
    if conn is not None:
        conn.close()
        print('Database connection closed.')

```

---

<div class="post-metadata">

**Author:** ![markamind](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/markamind/32/157_2.png) [@markamind](https://openziti.discourse.group/u/markamind)\
**Post date:** [June 22, 2022, 10:02am UTC](https://openziti.discourse.group/t/python-sdk-with-jdbc-connector/606/4 "2022-06-22T10:02:12Z")

</div>

I found this example that uses sockets.. so to avoid the use of the tunneler.. some of this code will need to be used I think

> let me know if you have any suggestions

> I am quite a newbie re Python.

[https://kb.objectrocket.com/postgresql/python-sockets-and-postgres-1227](https://kb.objectrocket.com/postgresql/python-sockets-and-postgres-1227)

---

<div class="post-metadata">

**Author:** ![ss\_vinoth22](https://avatars.discourse-cdn.com/v4/letter/s/ecccb3/32.png) [@ss\_vinoth22](https://openziti.discourse.group/u/ss_vinoth22)\
**Post date:** [April 21, 2024, 11:04pm UTC](https://openziti.discourse.group/t/python-sdk-with-jdbc-connector/606/5 "2024-04-21T23:04:32Z")

</div>

@markamind Did you get a chance to make it work? I'm looking for the similar solution to connect postgresDB using python SDK.

---

<div class="post-metadata">

**Author:** ![smilindave26](https://yyz2.discourse-cdn.com/free1/user_avatar/openziti.discourse.group/smilindave26/32/185_2.png) [@smilindave26](https://openziti.discourse.group/u/smilindave26)\
**Post date:** [April 22, 2024, 5:40pm UTC](https://openziti.discourse.group/t/python-sdk-with-jdbc-connector/606/6 "2024-04-22T17:40:15Z")

</div>

See also [Dns routing inside Kubernetes with Edge tunneler daemonset - #7 by natashell](https://openziti.discourse.group/t/dns-routing-inside-kubernetes-with-edge-tunneler-daemonset/2454/7) for a note on using python sdk to connect to PostgresSQL DB
