PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak zachowuje się pgbouncer, gdy włączone jest łączenie transakcji i wydawana jest pojedyncza instrukcja?

https://pgbouncer.github.io/usage.html

https://pgbouncer.github.io/config.html#description

W Twoim przypadku, jeśli transakcja nigdy nie zostanie zakończona (zatwierdzona, wycofana), trafi idle_transaction_timeout (domyślnie wyłączone) i idle in transaction połączenie wróci do puli, umożliwiając innym połączenie. Jeśli masz dla niego domyślną wartość, w pewnym momencie cała pula połączeń zostanie zapełniona, więc nowe zostaną odrzucone. Od tego momentu pojedyncze instrukcje nie będą działać - będą czekać na bezpłatne połączenie, które nigdy się nie pojawi.

Odnośnie pojedynczych wyciągów - nie są one "transformowane do transakcji przez pgbounce" ani "w pulowaniu transakcji każde polecenie jest transakcją samą w sobie". Jest to kontrolowane przez AUTOCOMMIT dla każdej sesji.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. W jaki sposób strona FROM UPDATE ma się do tabeli przeznaczonej dla UPDATE?

  2. Scal wiele wierszy w jeden z więcej niż jedną wartością wiersza w kolumnie

  3. Jak połączyć się z PostgreSQL z aplikacji Phoenix Web App przez SSL?

  4. Maksymalna liczba znaków w etykietach (nazwy tabel, kolumny itp.)

  5. Problemy z zapytaniami SQLite3 i Postgres/Heroku Ruby on Rails