sql >> Databáze >  >> RDS >> PostgreSQL

Připojení k databázi PostgreSQL pomocí tunelování SSH v Pythonu

Nevím, jestli to může být užitečné, ale musel jsem se také připojit k databázi PostgreSQL pomocí tunelování SSH. Podařilo se mi připojit pomocí vašeho kódu s několika úpravami:

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"

Po přidání server.start() , kód fungoval dobře. Kromě toho po „databáze připojena“ chyběly obrácené čárky. Doufám, že vám to může pomoci, děkujeme za sdílení kódu!



  1. Proč se pg_restore úspěšně vrací, ale ve skutečnosti neobnovuje moji databázi?

  2. Vysoké využití místa z crfclust.bdb

  3. Lehká instalace WordPress:Jak nainstalovat WordPress s SQLite

  4. Funkce TRANSLATE(… USING) v Oracle