
Ilya
19.08.2016
10:56:08
Я думал мы уже пережили средневековье, когда на всё воля Господа и вылеченным считается живая особь... Но Oracle, видимо, считает иначе... Олсо, я где-то слышал, что постгря потихоньку отбирает сладости у ВЕЛИКОГО.

Сергей
19.08.2016
11:04:25
Факт, но много не хватает!
Не хватает хинтов как минимум

Darafei
19.08.2016
11:04:48
хинтов?
зачем?

Google

Сергей
19.08.2016
11:12:43
Материализация

Darafei
19.08.2016
11:13:19
что "материализация"?
надо материализовать - пишешь СTE и радуешься :)

キリル
19.08.2016
11:18:32
скажу еще чего сильно не хватает - хорошего мониторинга ожиданий сессии (как у оракла)
а то что рассказывали на highload довольно скудно

Сергей
19.08.2016
11:23:11
многие хинты интересны... ordered, parallel...

Darafei
19.08.2016
11:23:44
какой запрос надо ими исправить?

Сергей
19.08.2016
11:24:34
некоторые запросы на табличке в 500М+ записей некорректно обрабатываются оптимизатором

Аггей
19.08.2016
11:24:57
parallell это пока не про postgres вообще

Darafei
19.08.2016
11:25:13
покажи запрос :)

Сергей
19.08.2016
11:25:16
я и говорю - не хватает мне их ))))
это издевательство - там запрос листов на 10 формата А4

Darafei
19.08.2016
11:26:53
всегда можно усечь :)

Google

Сергей
19.08.2016
11:26:58
что мне ещё не хватает? автономных транзакций, пакетов

キリル
19.08.2016
11:27:50
пакетов +1

Darafei
19.08.2016
11:28:29
автономных транзакций +1

Сергей
19.08.2016
11:29:53
Вообще я не очень силён в PostgreSQL, но как минимум меня взбесило - что я создал пользователя, дал ему права CONNECT, EXECUTE на выбранные функции, а он может получить список всех функций и их исходный код

Айтуар
19.08.2016
11:30:41
ну правильно, только connect и execute

Сергей
19.08.2016
11:31:46
Может и правильно, а что он может посмотреть структуру всех объектов, текст всех функций - не гут совсем

キリル
19.08.2016
11:33:33
@iWisenheimer всех функций в своей схеме? или во всей субд?

Darafei
19.08.2016
11:34:45
тут рассылка OpenStreetMap принесла https://github.com/rory/pgindexrebuild

Сергей
19.08.2016
11:36:42
во всей субд
pg_proc сдаёт
сама организация больше напоминает MS SQL/Sybase если честно в этом вопросе...

AbiGeuS
19.08.2016
11:42:39
В логе postgresql 9.3.4 1C. Вижу следующие сообщения: No left sibling (concurrent deletion?) in "pg_attribute_relid_attnum_index", No left sibling (concurrent deletion?) in "pg_attribute_relid_attnam_index".
Стоит беспокоиться об этом ?

Juriy
19.08.2016
11:43:48
https://telegram.me/PostgreSQL_1C_Linux

AbiGeuS
19.08.2016
11:44:59
Эти сообщения не относятся к 1С.

Dmitry
19.08.2016
13:18:11
CharybdeFS - клевая fuse-fs для проверки "как будет себя вести под нагрузкой, что будет если диск начнет сбоить и тд и тп"

Dmitry
19.08.2016
14:31:36
Есть БД в которой несколько таблиц без oid. По этой таблицице был сделан truncate, в результате чего в pg_largeobjects осталось какое-то количество данных... Вопрос: как их грамотно удалить? vacuumlo не предлагать. Он херит данные с соответствующих полях рабочих таблиц.

Dmitry
19.08.2016
16:48:06
рестартнуть для allow_system_table_mods нельзя?

Pavel
20.08.2016
16:27:46
Есть бд с mysql. В ней для представление boolean типов использовался tinyint. Перевел с помощью NMIG бд в postgresql. Запускаю приложение - получаю ошибку:
org.postgresql.util.PSQLException: ОШИБКА: оператор не существует: smallint = boolean
Подсказка: Оператор с данными именем и типами аргументов не найден. Возможно, вам следует добавить явные приведения типов.
Посоветуете лучшее решение?
(p.s. smallint -> boolean используется по всему приложению)

dmitriy
20.08.2016
16:50:36
ну либо создайте оператор, либо явно приводите в запросе smallint к boolean или наоборот

Pavel
20.08.2016
18:00:29
ALTER TABLE sdo_answers
ALTER COLUMN correct DROP DEFAULT,
ALTER COLUMN correct TYPE BOOL USING CASE WHEN correct = 0
THEN FALSE
ELSE TRUE END,
ALTER COLUMN correct SET DEFAULT FALSE;

Google

Pavel
20.08.2016
18:00:45
в итоге сделал, спасибо.
теперь руками придется всю базу конвертировать.. ну да и ладно.

Dmitry
22.08.2016
07:15:45
Попробовал (на тесте из бэкапа восстановил), как предлагают сдесь: http://stackoverflow.com/questions/5625585/sql-postgres-oids-what-are-they-and-why-are-they-useful
Запрос выдал Out of Shared Memory: max_locks_per_transaction. Параметр установлен в 1024. По идее достаточно.
Размер pg_largeobject 20Гб

Pavel
22.08.2016
18:32:52
А есть какая-либо тулза, в который акромя прочего можно было бы посмотреть slow query?

Evgeny
22.08.2016
18:35:02

Pavel
22.08.2016
18:39:27
Спасибо, то что нужно.

George
23.08.2016
17:30:10
0_o что за ... ?

Juriy
23.08.2016
17:53:35
Боты похоже

Alexey
23.08.2016
17:54:23
Да, у меня такая же картина.

Taras ?
23.08.2016
17:55:13
ну и что?

Alexey
23.08.2016
17:55:30
Это законченная сентенция.
И всё.

Lupsick
23.08.2016
17:57:44
нахуя они это делают только

Alexey
23.08.2016
18:00:50
Спам, насос пипла в рекламные группы, спамовая реклама за копейки.

Lupsick
23.08.2016
18:01:49
либо статистика по чатам

Alexey
23.08.2016
18:02:29
С таким-то именем у робота?
Статистику у чата можно собирать не только через tg-cli, для этого bot API хватает до усеру.

Alex
23.08.2016
18:47:39
а нет чего-то аля капчи?

George
23.08.2016
19:59:52
Можно сделать только по инвайтам
Но это беспредел

Google

Phil
23.08.2016
20:45:48

AbiGeuS
24.08.2016
03:59:01
Добрый день. Стоит postgres 9.3.4. В логах postgresql начали появляться ошибки вида "failed to re-find parent key in index pg_class_oid_index for deletion target". Сыпятся каждую минуту. После переадресации пропадают, но позже(прошло 2 дня с предыдущего инцидента) опять появляются. С чем это может быть связано? Куда вообще копать и не завалятся ли при этом данные?
Насколько я понял, ошибка появляется при попытке автовакуума потрогать таблицы.

Vadim
24.08.2016
10:17:06

AbiGeuS
24.08.2016
10:17:59

Vadim
24.08.2016
10:18:27
а новая ошибка через 2 дня на другом и индексе?

AbiGeuS
24.08.2016
10:21:12
Да, на другом. Но я делал полную переиндексацию для бд. Т.е. должен был перестроить все.

Vadim
24.08.2016
10:21:44
перестроить
--data-checksums включено при инициализации кластера?
стоило бы через pg_dump проверить целостность данных

AbiGeuS
24.08.2016
10:24:57
Да, разумеется перестроить.
Чексуммы не включены. Pg_dump базу выгружает.
Уже встречался с крышем базы. Pg_dump падал без вариантов. Сейчас отрабатывает без проблем.
Не понятным моментом остается ситуация с прочей индексов.

Vadim
24.08.2016
10:32:36
а в разных ошибках там вместо pg_class_oid_index , другое имя индекса?
это системный pg_catalog, reindex пользовательских индексов на него не влияет думаю
REINDEX DATABASE делался?

AbiGeuS
24.08.2016
10:36:47
Так же были pg_attribute_relid_attnam_index и pg_depend_depender_index
Я понимаю что это системные
Тем не менее, прогон reindexdb -d database_name приводит к тому что ошибки перестают сыпаться каждую минуту в лог.

Vadim
24.08.2016
10:40:25
а баз несколько на серваке?

Google

AbiGeuS
24.08.2016
10:40:44
Несколько.
Есть тестовые базы и рабочие. Ошибки сыпались на одной рабочей и одной очень древней тестовой. И ту и другую переиндексировал. Лог становится чистым. Сегодня ситуация повторилась. Опять reindexdb по ним и опять чистый лог. Снимать лампы pg_dump`ом пробовал - отрабатывают. В лог сервера ошибок о неудаче не спамят и разворачиваются во другие базы так же без ошибок.


Vadim
24.08.2016
10:46:46
ну вариант что 2 дня не использовалось обращение к индексу где ошибка наверно врядли это, значит ошибка заного появилась, может там диски проверить?
DATABASE
Перестраивает все индексы в текущей базе данных. При этом обрабатываются также индексы в общих системных каталогах. Эту форму REINDEX нельзя выполнить в блоке транзакции.
SYSTEM
Перестраивает все индексы в системных каталогах текущей базы данных. При этом обрабатываются также индексы в общих системных каталогах, но индексы в таблицах пользователя не затрагиваются. Эту форму REINDEX нельзя выполнить в блоке транзакции.
тут я еще не очень пойму, системные каталоги есть общие и у каждой базы как будто, или неточность перевода
есть какие то общие системные каталогии и у каждой базы отдельные видимо
но все равно шанс что что не проиндексировал мал вроде
на всякий случай может запустить reindex system на каждой базе, раз только по системным индексам ошибки