sql >> Databasteknik >  >> RDS >> PostgreSQL

Ansluter till PostgreSQL-databas genom SSH-tunnling i Python

Jag vet inte om detta kan vara till hjälp, men jag var tvungen att ansluta till en PostgreSQL-databas genom SSH-tunnling också. Jag lyckades ansluta med din kod med några ändringar:

import psycopg2
from sshtunnel import SSHTunnelForwarder

try:

    with SSHTunnelForwarder(
         ('<server ip address>', 22),
         #ssh_private_key="</path/to/private/ssh/key>",
         ### in my case, I used a password instead of a private key
         ssh_username="<server username>",
         ssh_password="<mypasswd>", 
         remote_bind_address=('localhost', 5432)) as server:
         
         server.start()
         print "server connected"

         params = {
             'database': '<dbname>',
             'user': '<dbusername>',
             'password': '<dbuserpass>',
             'host': 'localhost',
             'port': server.local_bind_port
             }

         conn = psycopg2.connect(**params)
         curs = conn.cursor()
         print "database connected"

except:
    print "Connection Failed"

Efter att ha lagt till server.start() , koden fungerade bra. Dessutom saknades inverterade kommatecken efter "databas ansluten". Jag hoppas att detta kan vara till hjälp för dig, tack för att du delar med dig av din kod!



  1. Hur kan jag få en lista över alla funktioner lagrade i databasen för ett visst schema i PostgreSQL?

  2. Fråga endast de första data från en tabell

  3. Motsvarighet till Oracles RowID i MySQL

  4. Optimeringströsklar – gruppering och aggregering av data, del 2