sql >> Database >  >> RDS >> PostgreSQL

Verbinding maken met de PostgreSQL-database via SSH-tunneling in Python

Ik weet niet of dit nuttig kan zijn, maar ik moest ook verbinding maken met een PostgreSQL-database via SSH-tunneling. Ik ben erin geslaagd om verbinding te maken met behulp van uw code met enkele aanpassingen:

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"

Na het toevoegen van server.start() , de code werkte goed. Verder ontbraken er aanhalingstekens achter 'database connected'. Ik hoop dat je hier wat aan hebt, bedankt voor het delen van je code!



  1. Fix Error:"SELECT's links en rechts van UNION hebben niet hetzelfde aantal resultaatkolommen" in SQLite

  2. Aangepaste grafieken om uw MySQL-, MariaDB-, MongoDB- en PostgreSQL-systemen te bewaken - ClusterControl Tips &Tricks

  3. Hoe kan ik regex gebruiken om een ​​string te splitsen, met een string als scheidingsteken?

  4. Gebruiksscenario's voor SQL Server MERGE-instructie:online synchroniseren en geschiedenistabellen