Size: a a a

pgsql – PostgreSQL

2021 January 06

am

a m in pgsql – PostgreSQL
Vladimir Eliseev
хотя с локалхост подключается, если в контейнер зайти.
Тоже спрашивает логин с паролем и пускает? Тогда pg_hba.conf, да.
источник

VE

Vladimir Eliseev in pgsql – PostgreSQL
a m
Тоже спрашивает логин с паролем и пускает? Тогда pg_hba.conf, да.
Thanks
источник

K

Kanstantsin in pgsql – PostgreSQL
Всем привет. А можно ли как-нибудь через запрос к базе данных достать метрики сервера бд? Гружу большой объём данных и хочу добавить логику проверки, что если сервер сильно нагружен, то загружать данные медленнее
источник

am

a m in pgsql – PostgreSQL
Сложно-то как. Не проще эту самую загрузку данных оптимизировать?
источник

am

a m in pgsql – PostgreSQL
Завернуть инсерты в одну большую транзакцию, prepared statements включить, вообще все через COPY скормить?
источник

K

Kanstantsin in pgsql – PostgreSQL
a m
Завернуть инсерты в одну большую транзакцию, prepared statements включить, вообще все через COPY скормить?
у меня там апсерты, т.e. copy не подойдёт
источник

D

Dmitriy in pgsql – PostgreSQL
Kanstantsin
у меня там апсерты, т.e. copy не подойдёт
А апсертить блоками по 500-1000 записей не вариант, вне зависимости от нагрузки на БД? Вряд ли она настолько перегружена, чтобы такая нагрузка на что-то сильно влияла
источник

K

Kanstantsin in pgsql – PostgreSQL
ну да, я количество апсертов за раз тоже уменьшу. Но интересно стало ещё такую проверку сделать на нагрузку с паузами
источник

am

a m in pgsql – PostgreSQL
Ну да фиг с ним, доступим.
Какие метрики вы там смотреть собрались?
Есть только одна хорошая метрика: пользователи жалуются что все томрозит.
источник

K

Kanstantsin in pgsql – PostgreSQL
a m
Ну да фиг с ним, доступим.
Какие метрики вы там смотреть собрались?
Есть только одна хорошая метрика: пользователи жалуются что все томрозит.
пока не знаю. Использование диска, cpu. Что-нибудь типа того. Пока не нагуглил никаких показателей, которые можно запросом достать  и на которые можно было бы опереться
источник

D

Dmitriy in pgsql – PostgreSQL
Kanstantsin
пока не знаю. Использование диска, cpu. Что-нибудь типа того. Пока не нагуглил никаких показателей, которые можно запросом достать  и на которые можно было бы опереться
Возможно, лютый велосипед, но можно написать небольшой демон, который мониторит загруженность CPU и память, и держать его на том же хосте, что и БД. Когда требуется, дёргать его эндпоинт, чтобы узнать загруженность)))
источник

D

Dmitriy in pgsql – PostgreSQL
Вот вообще библиотека готовая для Go https://github.com/mackerelio/go-osstat. То есть весь демон будет состоять из 10-20 строк
источник

2_

2flower _ in pgsql – PostgreSQL
это точно не рецепт от ковида? судя по почерку похоже. :)
источник

Н

Не выходи из комнаты... in pgsql – PostgreSQL
Привет. Не подскажите, почему, когда пытаюсь посчитать значения accounts_count остальные значения умножаются на 2? Оо

 SELECT SUM("invoices_invoice"."amount") FILTER (WHERE "invoices_invoice"."date" >= 2021-01-05) AS "total_amount", COUNT("prest_jwt_auth_clientemail"."id") FILTER (WHERE "prest_jwt_auth_clientemail"."created_at" >= 2021-01-05 18:03:58.900121+00:00) AS "accounts_count" FROM "prest_jwt_auth_userprofile" INNER JOIN "auth_user" ON ("prest_jwt_auth_userprofile"."user_id" = "auth_user"."id") LEFT OUTER JOIN "folders_folder" ON ("auth_user"."id" = "folders_folder"."owner_id") LEFT OUTER JOIN "folders_folder_invoices" ON ("folders_folder"."id" = "folders_folder_invoices"."folder_id") LEFT OUTER JOIN "invoices_invoice" ON ("folders_folder_invoices"."invoice_id" = "invoices_invoice"."id") LEFT OUTER JOIN "prest_jwt_auth_clientemail" ON ("auth_user"."id" = "prest_jwt_auth_clientemail"."user_id") WHERE "prest_jwt_auth_userprofile"."id" = 1 GROUP BY "prest_jwt_auth_userprofile"."id"


Если не считать accounts_count - все работает норм
источник

KT

Kirill T in pgsql – PostgreSQL
Не выходи из комнаты.
Привет. Не подскажите, почему, когда пытаюсь посчитать значения accounts_count остальные значения умножаются на 2? Оо

 SELECT SUM("invoices_invoice"."amount") FILTER (WHERE "invoices_invoice"."date" >= 2021-01-05) AS "total_amount", COUNT("prest_jwt_auth_clientemail"."id") FILTER (WHERE "prest_jwt_auth_clientemail"."created_at" >= 2021-01-05 18:03:58.900121+00:00) AS "accounts_count" FROM "prest_jwt_auth_userprofile" INNER JOIN "auth_user" ON ("prest_jwt_auth_userprofile"."user_id" = "auth_user"."id") LEFT OUTER JOIN "folders_folder" ON ("auth_user"."id" = "folders_folder"."owner_id") LEFT OUTER JOIN "folders_folder_invoices" ON ("folders_folder"."id" = "folders_folder_invoices"."folder_id") LEFT OUTER JOIN "invoices_invoice" ON ("folders_folder_invoices"."invoice_id" = "invoices_invoice"."id") LEFT OUTER JOIN "prest_jwt_auth_clientemail" ON ("auth_user"."id" = "prest_jwt_auth_clientemail"."user_id") WHERE "prest_jwt_auth_userprofile"."id" = 1 GROUP BY "prest_jwt_auth_userprofile"."id"


Если не считать accounts_count - все работает норм
Сложно сказать.  Тяжело читать SQL. Для начала нужно отформатировать его.

Вообще похоже на баг. Но может быть и запрос кривой. Я бы вначале посмотрел на планы выполнения обоих запросов. Возможно при анализе планов станет понятно что не так с самим запросом.
источник

2_

2flower _ in pgsql – PostgreSQL
Не выходи из комнаты.
Привет. Не подскажите, почему, когда пытаюсь посчитать значения accounts_count остальные значения умножаются на 2? Оо

 SELECT SUM("invoices_invoice"."amount") FILTER (WHERE "invoices_invoice"."date" >= 2021-01-05) AS "total_amount", COUNT("prest_jwt_auth_clientemail"."id") FILTER (WHERE "prest_jwt_auth_clientemail"."created_at" >= 2021-01-05 18:03:58.900121+00:00) AS "accounts_count" FROM "prest_jwt_auth_userprofile" INNER JOIN "auth_user" ON ("prest_jwt_auth_userprofile"."user_id" = "auth_user"."id") LEFT OUTER JOIN "folders_folder" ON ("auth_user"."id" = "folders_folder"."owner_id") LEFT OUTER JOIN "folders_folder_invoices" ON ("folders_folder"."id" = "folders_folder_invoices"."folder_id") LEFT OUTER JOIN "invoices_invoice" ON ("folders_folder_invoices"."invoice_id" = "invoices_invoice"."id") LEFT OUTER JOIN "prest_jwt_auth_clientemail" ON ("auth_user"."id" = "prest_jwt_auth_clientemail"."user_id") WHERE "prest_jwt_auth_userprofile"."id" = 1 GROUP BY "prest_jwt_auth_userprofile"."id"


Если не считать accounts_count - все работает норм
возможно это банально, но ставлю на то, что вы сравниваете два РАЗНЫХ запроса, но считаете их одинаковыми.
источник

KT

Kirill T in pgsql – PostgreSQL
2flower _
возможно это банально, но ставлю на то, что вы сравниваете два РАЗНЫХ запроса, но считаете их одинаковыми.
+1
источник
2021 January 07

НК

Никита Коробань... in pgsql – PostgreSQL
Никита Коробань
Всем добрый день !
При создании нового сервера выдает ошибку подключения - якобы не тот адрес по указанному TCP-соединению(5432).
Внесение изменений в файл postgresql.conf результата не дал.

Установил postgresql10(snap) и pgAdmin через менеджер пакетов; OC - Manjaro Linux .

Как еще можно решить эту проблему?
Всем добрый день !
Снова возвращаюсь к своему вопросу.
Команда ps ef -u postgres выводит ошибку типа 'user name does not exist'.
Команда ss -nltp | grep 5432 ничего не выводит.
Как я наткнулся на описанную мною ошибку - показал на скрине (аналогично при вводе localhost).
Также при вводе некоторых команд ссылается на не найденный postgresql.service - это также имеет важное значение ?
Что еще можно сделать ?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
эм, может быть пакеты постгреса вообще не установлены?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
вы пишете что ставили через snap, покажите что выводит snap list
источник