python跳板机连接PgSQL(复制可用):
import psycopg2
from sshtunnel import SSHTunnelForwarder
import pandas as pd
server = SSHTunnelForwarder(
# 指定ssh登录的跳转机的address
ssh_address_or_host=('跳板机ip', 端口),
ssh_username='用户名',
#设置密钥
ssh_pkey = '私钥文件全路径',
ssh_private_key_password='私钥密码',
# 设置数据库服务地址及端口
remote_bind_address=('数据库ip', 端口))
server.start()
conn = psycopg2.connect(database = '库名',
user = '用户名',
password = '数据库密码',
host = '127.0.0.1', #host、port 固定
port = server.local_bind_port)
sql = 'select ...;'
df = pd.read_sql(sql, conn)
sever.close()