Size: a a a

pgsql – PostgreSQL

2021 February 05

YS

Yaroslav Schekin in pgsql – PostgreSQL
Ivan KHOKHLOV
почитал, что он не очень справляется с задачей и ьольшая часть селектов все равно уходит на мастер
Он будет справляться с задачей так, как настроите, по идее (но и "выстрелить себе в ногу" с ним очень просто).
Т.е. лучше его документацию почитать, чем чьи-то оценки. ;)
источник

I

Ivan in pgsql – PostgreSQL
Всем привет! Кто-то может дать совет по подключению к базе Redshift в Redash?
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Добрый день, уважаемые коллеги, прошу прощения, если материал был: https://habr.com/ru/company/domclick/blog/534896/
интересно про кеши, да...
источник

MZ

Michael マイケル Zhilin ... in pgsql – PostgreSQL
Добрый! Тест содержит только чтения. В такой ситуации, чем данные ближе к клиенту, тем лучше. А значит увеличеный shared buffers будет выигрывать. Как только появляется write активность, то cache miss-ы в pagecache-е уже начнут создавать проблемы. Поэтому стоит попросить сделать тесты с write фоном (аккаунта на хабре у меня нет, так что откомментить туда не могу). Но идея статьи правильная - настройка кэшей требует отдельной магии в зависимости от определенной формы нагрузки. К примеру использование ZFS, где можно выключить кэш файловой системы для содержимого файлов, позволяет добится больших TPS при записи на диск, но проигрывает при seqscan-ах.
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
А вы прям ZFS использовали или open ZFS/btrfs?
источник

MZ

Michael マイケル Zhilin ... in pgsql – PostgreSQL
Alexander Nikitin
А вы прям ZFS использовали или open ZFS/btrfs?
zfs/openzfs. Кодовая база zfs / zol / zof сейчас одна и таже.
источник

AN

Alexander Nikitin in pgsql – PostgreSQL
ага, понятно. Мы в своё время там с размером блоков баловались, оказалось, что максимальная производительность на наших БД Oracle достигалась при 128кб. Кэш по-моему тоже отключали.
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
источник

CP

Cris Pain in pgsql – PostgreSQL
Коллеги подскажите пожалуйста, как можно получить выборку данных из одной таблицы за 4 промежутка (1,2,3,4 неделя месяца) с помощью одного запроса (вложенные запросы допустимы), будет достаточно алгоритма ))
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Ну так индекса на images.series_uid у Вас нет, чего Вы ожидали?

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

Как бы он мог его использовать, если он вообще не имеет отношения к данному запросу? ;)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Только магией конечно, нет. Вы представляете, как работают индексы, хоть примерно?
Если нет — прочитайте какой-нибудь tutorial, правда.
Вроде вот это рекомендуют: http://use-the-index-luke.com/

> но как-то два одинаковых индекса держать по крайней мере странно )

У Вас нет никаких "одинаковых" индексов. Вот все индексы, которые там есть:
Indexes:
   "pk_images" PRIMARY KEY, btree (image_uid)
   "img_idx1" btree (images_uid_in_file)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Нет, не будет двух индексов (я про это отвечал). Индексы в разных таблицах никак не связаны, вкратце.
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
Жесть какая. У вас РАЗНЫЕ индексы, на РАЗНЫЕ данные. В родительской таблице индекс по первичному ключу (уникальному набору столбцов в общем случае), во второй там есть дублей в ассортименте.
источник

МШ

Михаил Шурутов... in pgsql – PostgreSQL
И по ним статистика будет разной.
источник

am

a m in pgsql – PostgreSQL
Alex Yu
Доброго времени суток, господа (и товарищи конечно тоже) !

Буду благодарен за любой совет, любую идею - как проверить, что инстансу PG хватает RAM.

Ситуация осложняется тем, что доступа к физическому серверу нет -  это клаудный постгрес, инстанс Azure Database for Postgresql
Рецептуры в интернете: все что нашел, строятся на средствах ОС - анализ сколько и как процесс поедает RAM итд.

Обращаться в саппорт - бесполезно. Т.е. они однозначно скажут: "докупите памяти" :)

Подозрения на недостаток RAM у меня возникают, потому что наблюдаю очень неровное выполнение однотипных SELECT-ов к практически read-only данным.

Т.е. может быть 200 ms - 250 ms -180 ms - 2.5 s - 1.5 s - 300 ms - 200 ms

Есть ли идеи?
Подключить pg_stat_statements и посчитать процент MISS’ов (в интернете гуглятся готовые запросы для ленивых)
источник

AY

Alex Yu in pgsql – PostgreSQL
a m
Подключить pg_stat_statements и посчитать процент MISS’ов (в интернете гуглятся готовые запросы для ленивых)
Хм. Спасибо
Правда я вижу только shared_blocks_hits
Буду гуглить как вывести из них misses
источник

OK

Oleg Kuzmenko in pgsql – PostgreSQL
Привет всем. Есть поле birthday типа date, пытаюсь создать индекс в формате MM-DD, сначала пытался так:
to_char(birthday, 'MM-DD')
,но получил ошибку
functions in index expression must be marked IMMUTABLE

Как грамотнее всего поступить? В интернетах советуют написание пользовательской функции и вызывать ее вместо to_char, но, возможно, существует способ затайпкастить красиво?
источник

OK

Oleg Kuzmenko in pgsql – PostgreSQL
Даже так пытался извращаться:
concat(lpad(cast(extract(month from birthday) as text), 2, '0'), '-', lpad(cast(extract(day from birthday) as text), 2, '0'))
источник

AY

Alex Yu in pgsql – PostgreSQL
Oleg Kuzmenko
Привет всем. Есть поле birthday типа date, пытаюсь создать индекс в формате MM-DD, сначала пытался так:
to_char(birthday, 'MM-DD')
,но получил ошибку
functions in index expression must be marked IMMUTABLE

Как грамотнее всего поступить? В интернетах советуют написание пользовательской функции и вызывать ее вместо to_char, но, возможно, существует способ затайпкастить красиво?
А в чем суть такого преобразования - отрезать год?
источник

SB

Sergey Bezrukov in pgsql – PostgreSQL
Oleg Kuzmenko
Привет всем. Есть поле birthday типа date, пытаюсь создать индекс в формате MM-DD, сначала пытался так:
to_char(birthday, 'MM-DD')
,но получил ошибку
functions in index expression must be marked IMMUTABLE

Как грамотнее всего поступить? В интернетах советуют написание пользовательской функции и вызывать ее вместо to_char, но, возможно, существует способ затайпкастить красиво?
а зачем вам индекс в таком формате? может "день с начала года" нужен?
источник