This would be a psycopg2 level setting which are documented at https://www.psycopg.org/docs/module.html#psycopg2.connect and the available values are ultimately at https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS . On the SQLAlchemy side you pass these to create_engine using connect_args: https://docs.sqlalchemy.org/en/13/core/engines.html?highlight=connect_args#custom-dbapi-args
On Wed, Feb 26, 2020, at 12:11 AM, Karim Gillani wrote: > We are using openshift which uses HAProxy. What I am looking for is why the > connect_timeout may not being applied so that we can retry the call after > re-connect to the other database pod. > > It is taking **up to two minutes** before I get the > psycopg2.OperationalError. It's very strange. The code will automatically > retry and work after this error shows up. I am guessing but I don't think my > setup is passing the connect_timeout to libpq. > > Thanks > > On Tuesday, 25 February 2020 10:37:19 UTC-8, Mike Bayer wrote: >> "could not connect" means your server is unreachable from a network >> standpoint. You want to make sure the server is running and that it is >> routable over the network you are trying to connect from. >> >> in an HA scenario, depending on what software is in use and how it does >> switchover, there can be long network lags, such as if it is moving a VIP >> from one machine to another. You'd want to be using a proxy server such as >> HAProxy or PGBouncer rather than relying upon changing network routing. >> >> >> >> On Tue, Feb 25, 2020, at 12:07 PM, Karim Gillani wrote: >>> Please note I am using a Pool. And some other connections seem to recover >>> fine. After two minutes I get this message and things start working again: >>> >>> ==> AE K:11oh392; T:1; E:(psycopg2.OperationalError) could not connect to >>> server: Connection timed out> Is the server running on host >>> "patroni-mastertheq" (172.50.46.180) and accepting> TCP/IP connections on >>> port 5432?>>(Background on this error at: http://sqlalche.me/e/e3q8 ) >>> Thanks >>> Karim >>> >>> On Tuesday, 25 February 2020 08:49:19 UTC-8, Karim Gillani wrote: >>>> I am having an issue where when my HA postgres database drops and is >>>> automatically moved to a backup database, the timeout doesn't seem to be >>>> working. >>>> >>>> My config.py shows the following: >>>> >>>> SQLALCHEMY_DATABASE_URI = >>>> '{engine}://{user}:{password}@{host}:{port}/{name}'.format( >>>> >>>> engine=DB_ENGINE, >>>> >>>> user=DB_USER, >>>> >>>> password=DB_PASSWORD, >>>> >>>> host=DB_HOST, >>>> >>>> port=DB_PORT, >>>> >>>> name=DB_NAME, >>>> >>>> ) >>>> SQLALCHEMY_ENGINE_OPTIONS >>>> = { 'pool_size' : pool_size, 'max_overflow' : max_overflow, >>>> 'pool_pre_ping' : True, 'pool_timeout': DB_POOL_TIMEOUT, 'pool_recycle': >>>> 3600, 'connect_args': { 'connect_timeout': 5, 'options' : '-c >>>> statement_timeout=5000' } } >>>> >>>> Is there something I set wrong? My timeout seems to be about 2 minutes >>>> instead of 5 secs. >>>> >>>> Any help would be appreciated, >>>> >>>> Thanks >>>> Karim >>>> >>> >>> -- >>> SQLAlchemy - >>> The Python SQL Toolkit and Object Relational Mapper >>> >>> http://www.sqlalchemy.org/ >>> >>> To post example code, please provide an MCVE: Minimal, Complete, and >>> Verifiable Example. See http://stackoverflow.com/help/mcve for a full >>> description. >>> --- >>> You received this message because you are subscribed to the Google Groups >>> "sqlalchemy" group. >>> To unsubscribe from this group and stop receiving emails from it, send an >>> email to sqlal...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/sqlalchemy/ab3e5681-d9be-468f-8160-97bddcca57fb%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/sqlalchemy/ab3e5681-d9be-468f-8160-97bddcca57fb%40googlegroups.com?utm_medium=email&utm_source=footer>. >> > > -- > SQLAlchemy - > The Python SQL Toolkit and Object Relational Mapper > > http://www.sqlalchemy.org/ > > To post example code, please provide an MCVE: Minimal, Complete, and > Verifiable Example. See http://stackoverflow.com/help/mcve for a full > description. > --- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sqlalchemy+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sqlalchemy/06c8e91e-4f36-4192-90d0-acbe840478ef%40googlegroups.com > > <https://groups.google.com/d/msgid/sqlalchemy/06c8e91e-4f36-4192-90d0-acbe840478ef%40googlegroups.com?utm_medium=email&utm_source=footer>. -- SQLAlchemy - The Python SQL Toolkit and Object Relational Mapper http://www.sqlalchemy.org/ To post example code, please provide an MCVE: Minimal, Complete, and Verifiable Example. See http://stackoverflow.com/help/mcve for a full description. --- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sqlalchemy+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sqlalchemy/82280db0-b63e-4e31-9657-66eb8bcd79b7%40www.fastmail.com.