sql >> Databáze >  >> RDS >> PostgreSQL

Postgres ukončí připojení během dotazu po několika stovkách sekund při použití Psycopg2

Přidání keepalive parametry do psycopg2.connect Zdá se, že volání problém vyřešilo:

self.db = pg.connect(
            dbname=config.db_name,
            user=config.db_user,
            password=config.db_password,
            host=config.db_host,
            port=config.db_port,
            keepalives=1,
            keepalives_idle=30,
            keepalives_interval=10,
            keepalives_count=5
        )

Stále nevím, proč je to nutné. Nemohu najít nikoho jiného, ​​kdo by popsal nutnost používat keepalives klíčová slova parametru při používání Postgres v Dockeru jen proto, aby bylo možné spouštět dotazy, které trvají déle než 4–5 minut, ale možná je dostatečně zřejmé, že si to nikdo nevšiml?



  1. Funkce COALESCE() v Oracle

  2. Přidání řádků do tabulky s jedinečným sloupcem:Získejte stávající hodnoty ID plus nově vytvořené

  3. Jak zahrnout soubory jar do uložené procedury Java v Oracle?

  4. Extrahování názvů klíčů se skutečnými hodnotami z objektu JSONB