Size: a a a

pgsql – PostgreSQL

2021 June 26

AC

All Cats in pgsql – PostgreSQL
всем привет!

очень много висящих соединений к базе, почему это происходит? как бороться? насколько я понимаю это значительно замендляет работу

  4971 postgres  1.2 postgres: 13/main: postgres user ::1(58774) idle
  4970 postgres  1.2 postgres: 13/main: postgres user ::1(58772) idle
  4966 postgres  1.2 postgres: 13/main: postgres user ::1(58754) idle
  4965 postgres  1.2 postgres: 13/main: postgres user ::1(58752) idle
  4758 postgres  1.2 postgres: 13/main: postgres user ::1(58326) idle
  4736 postgres  1.2 postgres: 13/main: postgres user ::1(58252) idle
  4735 postgres  1.2 postgres: 13/main: postgres user ::1(58248) idle
  4734 postgres  1.2 postgres: 13/main: postgres user ::1(58246) idle
  4733 postgres  1.2 postgres: 13/main: postgres user ::1(58244) idle
  4731 postgres  1.2 postgres: 13/main: postgres user ::1(58240) idle
  4969 postgres  1.1 postgres: 13/main: postgres user ::1(58770) idle
  4968 postgres  1.1 postgres: 13/main: postgres user ::1(58768) idle
  4967 postgres  1.1 postgres: 13/main: postgres user ::1(58756) idle
  4740 postgres  1.1 postgres: 13/main: postgres user ::1(58262) idle
  4739 postgres  1.1 postgres: 13/main: postgres user ::1(58260) idle
  4738 postgres  1.1 postgres: 13/main: postgres user ::1(58256) idle
  4737 postgres  1.1 postgres: 13/main: postgres user ::1(58254) idle
  4732 postgres  1.1 postgres: 13/main: postgres user ::1(58242) idle
  4730 postgres  1.1 postgres: 13/main: postgres user ::1(58238) idle
источник

AC

All Cats in pgsql – PostgreSQL
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
> очень много висящих соединений к базе, почему это происходит?

ваши приложения открывают соединения к БД чтобы делать запросы

> как бороться?

зачем? с чего вы взяли что это плохо?

> насколько я понимаю это значительно замендляет работу

не всегда, это зависит от ресурсов сервера и нагрузки которую создают приложения
источник

AC

All Cats in pgsql – PostgreSQL
спасибо
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
вот idle in transaction это плохо... долгое нахождение транзакций в таком состоянии (минуты и более), замедляет работу постгреса.

но это больше проблема приложения, лечить надо там
источник

AC

All Cats in pgsql – PostgreSQL
можно как то натсроить его чтобы обрывал такие соединения? или это лучше делать со стороны приложения?
источник

AC

All Cats in pgsql – PostgreSQL
спасибо) будем разбиратсья)
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
в идеале нужно разбираться с приложением, чтобы оно не оставляло транзакции надолго.

но есть и крутилка - idle_in_transaction_session_timeout - позволяет постгресу самостоятельно завершать такие транзакции
источник

AC

All Cats in pgsql – PostgreSQL
тогда скорее всего сломается приложение если будем неожиданно для него закрывать транзу
источник

DV

Dmitry Vasiliev in pgsql – PostgreSQL
Ещё больной кейс - когда не читают из мастера :)
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
а если у вас прям сотни коннектов, то посмотрите в сторону использования пуллеров соединений, типа pgbouncer, oddysey,pgagroal и т.п.
источник

AC

All Cats in pgsql – PostgreSQL
это что значит?)
источник

AC

All Cats in pgsql – PostgreSQL
нет приложение относительно небольшое, так что думаю это его косяк
источник

DV

Dmitry Vasiliev in pgsql – PostgreSQL
Ну при чтении из мастера бакендом тоже происходят микрооптимизации, отсутсвие этого чтения тоже постепенно приводит к деградации
источник

AC

All Cats in pgsql – PostgreSQL
блин я даже не знаю что аткое мастер)
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
мм, я думаю об этом надо думать когда более-менее серьезная нагрузка, на маленьких tps оно наверно врядли ощутимо
источник

VS

Vitaliy Snitko in pgsql – PostgreSQL
Вопрос по неймингу...

Есть сущность user.
Как правильно назвать табличку с юзерами - user или users?

Вроде как логично дать имя users...
Но тогда, получая в коде одного юзера из таблички я получаю объект класса Users, а это уже как-то вырвиглазно...

Возможно есть бестпрактис или соглашения по этому поводу?
источник

V

Vitaly in pgsql – PostgreSQL
источник

VS

Vitaliy Snitko in pgsql – PostgreSQL
Благодарю!
источник

V

Vitaly in pgsql – PostgreSQL
так как таблица содержит данные разных юзеров , то это именно users
источник