PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Łączenie się z bazą danych PostgreSQL przez tunelowanie SSH w Pythonie

Nie wiem, czy to może być pomocne, ale musiałem również połączyć się z bazą danych PostgreSQL przez tunelowanie SSH. Udało mi się połączyć za pomocą twojego kodu z kilkoma modyfikacjami:

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 dodaniu server.start() , kod działał ładnie. Ponadto po „podłączeniu bazy danych” brakowało cudzysłowów. Mam nadzieję, że to może Ci się przydać, dziękuję za udostępnienie kodu!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Instalacja PostgreSQL 9 w systemie Windows:Nie można pisać w ścieżce środowiska TEMP.

  2. Używanie Barmana do odzyskiwania po awarii PostgreSQL

  3. Jak przekazać niestandardową tablicę typów do funkcji Postgres

  4. Używanie Barmana do tworzenia kopii zapasowych PostgreSQL — przegląd

  5. Czy istnieje skrót do SELECT * FROM?