PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Kết nối với cơ sở dữ liệu PostgreSQL thông qua đường hầm SSH bằng Python

Tôi không biết liệu điều này có hữu ích hay không, nhưng tôi cũng phải kết nối với cơ sở dữ liệu PostgreSQL thông qua đường hầm SSH. Tôi đã thành công khi kết nối bằng mã của bạn với một số sửa đổi:

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"

Sau khi thêm server.start() , mã hoạt động tốt. Hơn nữa, các dấu phẩy ngược bị thiếu sau khi 'cơ sở dữ liệu được kết nối'. Tôi hy vọng điều này có thể hữu ích cho bạn, cảm ơn bạn đã chia sẻ mã của mình!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tôi có thể sử dụng giá trị trả về của INSERT ... RETURNING trong một INSERT khác không?

  2. Nhận xét ký tự / ký tự trong postgres / postgresql / psql?

  3. Báo cáo đường ray không thể tìm thấy một cột ở đó

  4. PostgreSQL:Sáu mảnh không dễ dàng

  5. Hiểu và đọc Danh mục hệ thống PostgreSQL