sql >> Database teknologi >  >> RDS >> Mysql

SQLAlchemy gennem Paramiko SSH

Hvis der er nogen, der er interesseret i at oprette forbindelse til en ekstern Postgresql database via SSH og ønsker at indlæse data i en pandas DataFrame her er, hvordan du gør det.

Antag, at vi har installeret en postgresql-database på en ekstern server, som vi kan ssh til ved hjælp af følgende parametre.

SSH-parametre:

  • Servers IP:10.0.0.101
  • SSH-port:22 (standardport for SSH )
  • Brugernavn:my_username
  • Adgangskode:my_password

Databaseparametre:

  • Port:5432 (postgresql standardport )
  • Databasenavn:db
  • Databasebruger:postgres_user (standardbrugernavnet er postgres )
  • Databaseadgangskode:postgres_pswd (standardadgangskoden er en tom streng )
  • Tabel med vores data:MY_TABLE

Nu vil vi oprette forbindelse til denne database på vores side og indlæse data i en pandas DataFrame:

from sshtunnel import SSHTunnelForwarder
from sqlalchemy import create_engine
import pandas as pd

server = SSHTunnelForwarder(
    ('10.0.0.101', 22),
    ssh_username="my_username",
    ssh_password="my_password",
    remote_bind_address=('127.0.0.1', 5432)
    )

server.start()
local_port = str(server.local_bind_port)
engine = create_engine('postgresql://{}:{}@{}:{}/{}'.format("postgres_user", "postgres_pswd", "127.0.0.1", local_port, "db"))

dataDF = pd.read_sql("SELECT * FROM \"{}\";".format("MY_TABLE"), engine)

server.stop()


  1. FEJL i PDO:Kald til en medlemsfunktion prepare() på null

  2. ORA 00904 Fejl:Ugyldig identifikator

  3. refererer fremmednøgle altid til en unik nøgle i en anden tabel?

  4. MySQL forespørgsel / klausul udførelsesrækkefølge