PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

В среда с множество сървъри, ако даден сайт е неактивен повече от 15 милиона, сървърът губи връзка с базата данни на PostgreSQL

Проверете вашите настройки за време на изчакване на TCP/IP сокет на всички рутери/превключватели между сървърите на приложения и сървърите на бази данни. Също така включете регистриране от страна на базата данни и наблюдавайте пълния жизнен цикъл на връзката и сравнете времето с грешките във вашето приложение. Предлагам да включите следните настройки в postgresql.conf, докато получите представа какво да търсите:

log_connections = on
log_disconnections = on
log_statement = all

Те могат да бъдат активирани с SIGHUP на процеса postgres (или изпълнете "SELECT pg_reload_conf();" като суперпотребител на база данни.

Предполагам, че имате „връзката затворена от отдалечен хост“ или нещо подобно като последното съобщение преди действителното прекъсване на връзката да бъде регистрирано.

Виждал съм това и преди и това бяха настройките за изчакване на междинен превключвател, които го причиняваха.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да премахнете много (но не всички) маси с един замах?

  2. Правилен начин за избор и актуализиране на SQL

  3. Пропускане на двойните кавички за извършване на заявка в PostgreSQL

  4. Изчислете процентите от SUM() в същата SELECT sql заявка

  5. АКТУАЛИЗИРАНЕ/ВМЪКВАНЕ въз основа на съществуването на ред