sql >> Databáze >  >> RDS >> Mysql

SQLAlchemy prostřednictvím Paramiko SSH

Pro případ, že by se našel někdo, kdo by měl zájem o připojení ke vzdálenému Postgresql databázi přes SSH a chce načíst data do pandas DataFrame zde je návod, jak to udělat.

Předpokládejme, že jsme na vzdálený server nainstalovali postgresql databázi, ke které můžeme ssh pomocí následujících parametrů.

Parametry SSH:

  • IP serveru:10.0.0.101
  • Port SSH:22 (výchozí port pro SSH )
  • Uživatelské jméno:my_username
  • Heslo:my_password

Parametry databáze:

  • Port:5432 (výchozí port postgresql )
  • Název databáze:db
  • Uživatel databáze:postgres_user (výchozí uživatelské jméno je postgres )
  • Heslo databáze:postgres_pswd (výchozí heslo je prázdný řetězec )
  • Tabulka s našimi údaji:MY_TABLE

Nyní se chceme připojit k této databázi na našem konci a načíst data do 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. MySQL:chyba ve vaší syntaxi SQL ... blízko klíče ...?

  2. Hodnoty sloupce identity serveru SQL začínají na 0 místo na 1

  3. EXTRACT (datetime) Funkce v Oracle

  4. Vygenerujte sadu nebo sekvenci bez smyček – část 2