sql >> Database teknologi >  >> RDS >> PostgreSQL

Tilslutning til PostgreSQL-database gennem SSH-tunneling i Python

Jeg ved ikke, om dette kan være nyttigt, men jeg var også nødt til at oprette forbindelse til en PostgreSQL-database gennem SSH-tunneling. Det lykkedes mig at oprette forbindelse ved hjælp af din kode med nogle ændringer:

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 tilføjelse af server.start() , koden fungerede fint. Desuden manglede omvendte kommaer efter 'database forbundet'. Jeg håber, dette kan være nyttigt for dig, tak fordi du deler din kode!



  1. Prøv disse bedste fremgangsmåder til MySQL-databaseovervågning

  2. Hvordan får man databaseoprettelsestid i PostgreSQL 9.0?

  3. Hvordan konverteres dato og klokkeslæt til unix-epokeværdi i Postgres?

  4. Overfør data fra en database til en anden database