Size: a a a

pgsql – PostgreSQL

2020 December 22

IZ

Ilia Zviagin in pgsql – PostgreSQL
Nikita
в обычные условия?
Ты фильтруешь констану по полям таблицы.

А надо записи таблицы по их полям фильтровать по константам.
источник

IZ

Ilia Zviagin in pgsql – PostgreSQL
Nikita
в плане он собственно так и выглядит. да и в доке написано, что индексы норм с between дружать с какой-то версии
Дело не в between
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
PostgreSQL падает с ошибкой:
2020-12-22 05:28:59 UTC [35588]: [139-1] db=,user= СООБЩЕНИЕ:  процесс сервера (PID 6459) был завершён по сигналу 11: Ошибка сегментирования
Установил отладочные символы на postgresql 9.6.20

Для настройки OS Воспользовался этой инструкцией:
https://www.thegeekdiary.com/how-to-enable-core-dump-for-applications-on-centos-rhel/
выполнил под root и под postgres
ulimit -c unlimited
теперь ulimit -a показывает:
core file size          (blocks, -c) unlimited

в /etc/security/limits.conf прописал
*               soft    core            unlimit

В /etc/sysctl.conf
kernel.core_pattern = /tmp/crash/core.%e.%p.%h.%t
fs.suid_dumpable = 2

выполнил
sysctl -p

стартовал и проверил статусы следующих сервисов:
systemctl start abrtd.service
systemctl start abrt-ccpp.service

После этого постгрес ещё несколько раз падал, но в /tmp/crash ничего не появилось.
Что я сделал не так?
В /var/spool/abrt появилась папка ccpp-2020-12-22-15:48:09-41187, там есть и файлы coredump и core_backtrace. Но я не уверен в том, что это то, что нужно.
источник

A

Alexander in pgsql – PostgreSQL
Alexander Nikitin
PostgreSQL падает с ошибкой:
2020-12-22 05:28:59 UTC [35588]: [139-1] db=,user= СООБЩЕНИЕ:  процесс сервера (PID 6459) был завершён по сигналу 11: Ошибка сегментирования
Установил отладочные символы на postgresql 9.6.20

Для настройки OS Воспользовался этой инструкцией:
https://www.thegeekdiary.com/how-to-enable-core-dump-for-applications-on-centos-rhel/
выполнил под root и под postgres
ulimit -c unlimited
теперь ulimit -a показывает:
core file size          (blocks, -c) unlimited

в /etc/security/limits.conf прописал
*               soft    core            unlimit

В /etc/sysctl.conf
kernel.core_pattern = /tmp/crash/core.%e.%p.%h.%t
fs.suid_dumpable = 2

выполнил
sysctl -p

стартовал и проверил статусы следующих сервисов:
systemctl start abrtd.service
systemctl start abrt-ccpp.service

После этого постгрес ещё несколько раз падал, но в /tmp/crash ничего не появилось.
Что я сделал не так?
В /var/spool/abrt появилась папка ccpp-2020-12-22-15:48:09-41187, там есть и файлы coredump и core_backtrace. Но я не уверен в том, что это то, что нужно.
Смотри core_backtrace. Ну или через abrt-cli
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
ну то есть это и есть этот коредамп?
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
А кто-нибудь может сказать, на что именно там смотреть?
https://pastebin.com/QryeFW6E
источник

РЖ

Роман Жарков... in pgsql – PostgreSQL
С корками и стектрейсами надо идти к разработчикам в bugs
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
понял, спасибо, сейчас сходим :)
источник

ПЕ

Петр Егоров... in pgsql – PostgreSQL
по опыту, чаще всего, ошибка сегментации происходит в каком-нибудь расширении. В последнее время ничего не устанавливали на сервере бд? Посмотрите, какой запрос вызвал ошибку, может появятся какие-то зацепки и удастся воспроизвести ошибку
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
в логах пишется, что был апдейт определённой таблицы Но там вроде бы всё в порядке, без каких-либо хитрых полей:Завершившийся процесс выполнял действие: UPDATE "tbl_name" SET "created" = '2016-01-21T12:58:51.710388'::timestamp, "modified" = '2020-12-22T15:12:16.163803'::timestamp, "photo" = '', "user_id" = 56149, "school_id" = 244, "metarole" = 'pupil', "person_id" = 53415, "about_myself" = NULL, "is_ad_user" = false, "need_change_password" = false, "banner" = false, "public_photo" = '' WHERE "users_userprofile"."id" = 53642
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
список установленных расширений в БД:
--------------------+---------+------------+-----------------------------------------------------------
hstore             | 1.4     | public     | data type for storing sets of (key, value) pairs
pg_buffercache     | 1.2     | public     | examine the shared buffer cache
pg_stat_statements | 1.4     | public     | track execution statistics of all SQL statements executed
plpgsql            | 1.0     | pg_catalog | PL/pgSQL procedural language
источник

T

Tima in pgsql – PostgreSQL
Как продлить сессию, или перезапустить заново ?
источник

T

Tima in pgsql – PostgreSQL
Пробовал полностью выключать и включать pgAdmin, не помогает
источник

ПЕ

Петр Егоров... in pgsql – PostgreSQL
Alexander Nikitin
в логах пишется, что был апдейт определённой таблицы Но там вроде бы всё в порядке, без каких-либо хитрых полей:Завершившийся процесс выполнял действие: UPDATE "tbl_name" SET "created" = '2016-01-21T12:58:51.710388'::timestamp, "modified" = '2020-12-22T15:12:16.163803'::timestamp, "photo" = '', "user_id" = 56149, "school_id" = 244, "metarole" = 'pupil', "person_id" = 53415, "about_myself" = NULL, "is_ad_user" = false, "need_change_password" = false, "banner" = false, "public_photo" = '' WHERE "users_userprofile"."id" = 53642
Если в транзакции с откатом попробовать выполнить этот апдейт под тем же пользователем, не упадет?
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Alexander Nikitin
PostgreSQL падает с ошибкой:
2020-12-22 05:28:59 UTC [35588]: [139-1] db=,user= СООБЩЕНИЕ:  процесс сервера (PID 6459) был завершён по сигналу 11: Ошибка сегментирования
Установил отладочные символы на postgresql 9.6.20

Для настройки OS Воспользовался этой инструкцией:
https://www.thegeekdiary.com/how-to-enable-core-dump-for-applications-on-centos-rhel/
выполнил под root и под postgres
ulimit -c unlimited
теперь ulimit -a показывает:
core file size          (blocks, -c) unlimited

в /etc/security/limits.conf прописал
*               soft    core            unlimit

В /etc/sysctl.conf
kernel.core_pattern = /tmp/crash/core.%e.%p.%h.%t
fs.suid_dumpable = 2

выполнил
sysctl -p

стартовал и проверил статусы следующих сервисов:
systemctl start abrtd.service
systemctl start abrt-ccpp.service

После этого постгрес ещё несколько раз падал, но в /tmp/crash ничего не появилось.
Что я сделал не так?
В /var/spool/abrt появилась папка ccpp-2020-12-22-15:48:09-41187, там есть и файлы coredump и core_backtrace. Но я не уверен в том, что это то, что нужно.
ОСь какая?
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
Центос 7
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
Петр Егоров
Если в транзакции с откатом попробовать выполнить этот апдейт под тем же пользователем, не упадет?
отрабатывает, не падает
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
пардон, не под тем пользователем выполнял...
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
чуть позже проверб
источник

VY

Victor Yegorov in pgsql – PostgreSQL
Alexander Nikitin
Центос 7
какая версия базы? нужена актуальная минорка. база как сервис запускается через systemctl ?
источник