@pgsql

Страница 796 из 1062
Amir
09.05.2018
23:27:16
Скину сюда через полтора часа ddl, предметно обсудим)
сам пока вижу только один кейс где это дествительно было бы полезным: прибегать к изменениям частичных данных разбросанных по наследуемым таблицам без измеения записи родиельской, на которой и так слишком много заложено логики но если вы захотите отфильтровать и по телефону и по другим таким отдельно выделенным параметрам, думаю будет деградация в производительности запроса

нежели если бы эти данные были бы в одном месте

Антон \ (•◡•) / 1c8SysAdm
10.05.2018
04:47:08
Здравствуйте ставлю на сентос6.9 постгрес 9.6

Google
Антон \ (•◡•) / 1c8SysAdm
10.05.2018
04:47:13
runuser: невозможно установить группы: Операция не позволяется

я понял что пользователь postgres не может службу запустить из-за selinux как его настроить?

Shaz
10.05.2018
06:32:02
я понял что пользователь postgres не может службу запустить из-за selinux как его настроить?
Так же как в 99% мануалов - открываешь /etc/selinux/config и прописываешь там disabled.

Konstantin
10.05.2018
06:34:00
опасный путь предлагаешь ты.

Shaz
10.05.2018
06:36:19
опасный путь предлагаешь ты.
на темную сторону selinux отключение ведет?

Tolya
10.05.2018
06:57:27
Всем привет! У кого-то есть опыт настройки репликации между PostgreSQL и tarantool?

Tolya
10.05.2018
07:04:21
хочу попробовать поставить тарантул в качестве кеша перед постгресом

Shaz
10.05.2018
07:06:18
Tolya
10.05.2018
07:14:34
поэтому и пробую ?

если есть какие-то явные минусы у этого решения, расскажи, плиз, было бы полезно

Котяй Негодяй
10.05.2018
07:41:17
А в постгре можно создавать индексы по вложенным свойствам jsonb-полей?

Google
Darafei
10.05.2018
07:41:51
В постгресе есть бсон?

Котяй Негодяй
10.05.2018
07:42:08
Дыа. =)

ой тьфу.

jsonb

Монгодб головного мозга.

Artyem
10.05.2018
07:44:15
если это поле получается как результат работы иммутабельной функции над колонкой, то да, должно сработать.

Котяй Негодяй
10.05.2018
07:48:19
Прямо в таком виде.

Yaroslav
10.05.2018
07:51:08
Ну так можно?
https://www.postgresql.org/docs/current/static/datatype-json.html#JSON-INDEXING

Котяй Негодяй
10.05.2018
07:51:30
Антон \ (•◡•) / 1c8SysAdm
10.05.2018
08:31:27
опасный путь предлагаешь ты.
скажите что включить чтобы оно разрешало, ни одной не попалось инструкции что надо настраивать.

Mike Chuguniy
10.05.2018
09:55:57
Когда у вас в таблице 100500*n записей, то выгоднее, с точки зрения оптимизации, телефон держать не в отдельной сущности, а в денормализованном виде
Это как? В массиве? У меня вот, физической морды лиТСа, три номера (на самом деле четыре, один в планшете, он есть, но только для экстренных случаев, когда оба телефона дома остаются, поэтому я его не считаю) телефона используется. А ещё у людей бывают стационарные телефоны.

Amir
10.05.2018
10:13:19
очень много сущностей, через пол года их может быть в два раза больше, из за этого под каждую хотелку флудить новыми таблицами, да еще и inherits ради того что бы максимально нормальную форму поддерживать думаю заблуждением для таблиц в которых может быть лядр строк например вам надо найти всех контрагентов у которых протокол в таком то диапазоне, телефон начинается на (917) без учета первой цифры, содержат хотя бы 1 почтовый ящик а это все добро разсбросано по разным таблицам.

это я по вчерашнему собеседнику)

Таблица контактс: ключ, в который помимо всего прочего входит тип контакта: почта, телефон, трещалка (имя протокола, как идентификатор); собственно, сам контакт. Не вижу противоречий и сложностей в использовании.
плюсую ничего сложного нет, просто вчера было обсуждение что телефон выделен в отдельную наследуемую таблицу я же хотел от этого предостеречь)

Google
Amir
10.05.2018
10:23:04
я про то что телефон это все таки атрибут сущности а не сущность)

но там более специфичные кейсы оказались у автора, поэтому да пусть будет отдельная сущность

но клипать под каждый чих отдельные сущности это все таки неверно)

лучше такие данные хранить в jsonb

или в отдельных колонках если они частые

Yaroslav
10.05.2018
10:28:53
лучше такие данные хранить в jsonb
А я думаю, что не лучше. Я ранее уже приводил аргументы, почему так.

или в отдельных колонках если они частые
А это уж вовсе похоже на нарушение 1NF...

Amir
10.05.2018
10:32:28
если вы боитесь что ктото еще может такой же телефон указать другому контрагенту, то делаете либо констрейн, либо уникальный индекс по номеру телефона, это лучше работает чем содержать отдельную таблицу, в этой отдельной дочерней таблице опять надо содержать свои PK индексы и тд...

какую цель вы приследуете? сберечь место для хранения?

Mike Chuguniy
10.05.2018
10:34:29
У меня дурацкий вопрос, уважаемые коллеги. Есть 9.2 (не пинайте, в наследство досталось, процедура обновления в производстве) от меня требуется выборка ТОП-10 самых нагруженных таблиц по обращениям к ним. Я правильно понимаю, что именно количество обращений к таблице выбрать проблематично, или сижу в глазки развлекаюсь, глядючи в документацию? Т.е. pg_stat_user_tables содержит количество записей в различных разрезах. А есть ли информация по количеству обращений к таблице?

Amir
10.05.2018
10:35:32
у Ярослава телефоны реализованы через inherist таблицы, там думаю связь получается 1 к 1

точнее даже так к одной организации только 1 телефон можно прицепить, но по одному номеру телефона может быть много разных организаций

это какой то неправильный рецепт применения наследования, имхо

Mike Chuguniy
10.05.2018
11:55:27
Народ, что, никто не знает, как получить количество обращений к таблице? Или я хочу странного?

Grigory
10.05.2018
11:57:46
pg_stat_all_tables

Mike Chuguniy
10.05.2018
11:58:37
Гриш, ткни носом в соответствующий столбец, плиз. А то я только количество записей в различных разрезах наблюдаю. :(

Google
Mike Chuguniy
10.05.2018
11:59:07
ЗЫ. Пг - 9.2. Тяжёлое наследство, которое я разгребаю.

seq_scan+idx_scan?

Grigory
10.05.2018
12:00:00
Ага

Mike Chuguniy
10.05.2018
12:00:58
Тогда общее количество получается: seq_scan+idx_scan+n_tup_ins+n_tup_del+n_tup_upd?

Потому что базюлька - OLTP, т.е. и чтение, и запись...

Evgeniy
10.05.2018
12:02:17
зачем ты их хочешь всё схлопнуть в некия "обращения"

о чем они тебе расскажут

есть же условно нормальные метрики, сколько раз читали, чем читали, сколько строк на вычитку, сколько вставляли, сколько апдейтили

Yaroslav
10.05.2018
12:04:39
Потому что базюлька - OLTP, т.е. и чтение, и запись...
Ну вот вроде и в 9.2 там что-то есть: https://www.postgresql.org/docs/9.2/static/monitoring-stats.html#PG-STAT-ALL-TABLES-VIEW И далее по тексту, кстати (pg_stat_all_indexes, pg_statio_*).

Mike Chuguniy
10.05.2018
12:04:48
зачем ты их хочешь всё схлопнуть в некия "обращения"
Команда сверху: таблицы, к которым наибольшее количество обращений.

А для меня без расшифровки - это именно общее количество.

Evgeniy
10.05.2018
12:05:40
Команда сверху: таблицы, к которым наибольшее количество обращений.
ну так можно быть не тупым роботом и предоставить топ в разных срезах

или поставь pg_stat_statements, он тебе напишет запросы и каунт а ты из запроса таблички надергаешь

Mike Chuguniy
10.05.2018
12:09:36
Мне надо сегодня дать информацию. pg_stat_statement - перезапускать ПГ на проде мне никто не даст.

Alexandr
10.05.2018
12:10:08
Всем привет, подскажите пожалуйста, кто сталкивался с такой ошибкой cannot execute UPDATE in a read-only transaction В МАСТЕР базе?

Evgeniy
10.05.2018
12:11:58
Evgeniy
10.05.2018
12:12:32
если считать только в тюплях, там есть цифры сколько было насканено каждым методом

Google
Mike Chuguniy
10.05.2018
12:13:23
Игорь
10.05.2018
12:17:22
Скорее всего у него баунсер с транзакционным пулингом + SPRING. Еще это пусть посмотрит https://github.com/pgbouncer/pgbouncer/issues/224

Игорь
10.05.2018
12:28:01
как минимум сразу включите session pooling и дальше разбирайтесь

show default_transaction_read_only;

Yaroslav
10.05.2018
12:30:02
это исключили
Тогда это почти наверняка связано с pgbouncer. У вас transaction pooling? А вообще, посмотрите ссылки, которые давали выше...

Yaroslav
10.05.2018
12:33:30
в ссылке указывается про Java SPRING, у меня С++
Ну так проблема может быть той же. А вы не пробовали включить log_statement и "отловить" проблему?

Alexandr
10.05.2018
12:34:10
show default_transaction_read_only;
default_transaction_read_only ------------------------------- off (1 row)

Страница 796 из 1062