Size: a a a

pgsql – PostgreSQL

2021 March 19

DB

Danil Braindead in pgsql – PostgreSQL
Daniella Starchenko
Привет. Как понять, какой block size берет постргес при работе с файловой системой?
Должен быть 8kb(SELECT current_setting('block_size');), максимум можно задать 32kb

./configure --with-blocksize=BLOCKSIZE --with-wal-blocksize=BLOCKSIZE
источник

DB

Danil Braindead in pgsql – PostgreSQL
По дефолту
источник

DS

Daniella Starchenko in pgsql – PostgreSQL
Окей, спасибо) у меня тоже дефолтное значение
источник

K

Kirill in pgsql – PostgreSQL
Ого, сделал VACUUM VERBOOSE и ANALYZE и теперь лучше стало https://explain.depesz.com/s/sk3v
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Kirill
Ого, сделал VACUUM VERBOOSE и ANALYZE и теперь лучше стало https://explain.depesz.com/s/sk3v
Как и должно было... а нашли, почему autovacuum не было?
источник

K

Kirill in pgsql – PostgreSQL
Yaroslav Schekin
Как и должно было... а нашли, почему autovacuum не было?
Нет, в логах ничего про него не было(
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Kirill
Нет, в логах ничего про него не было(
А вообще какие-то ошибки были?
И сам процесс autovacuum выполняется?
источник

K

Kirill in pgsql – PostgreSQL
Yaroslav Schekin
А вообще какие-то ошибки были?
И сам процесс autovacuum выполняется?
Вероятно выполняется, но стоимость запроса изменилась после выполнения ANALYZE. Несколько дней назад перезапускал сервер, перед выполнением VACUUM VERBOSE обратил внимание что только для одной таблицы автовакум сработал за эти дни
источник

K

Kirill in pgsql – PostgreSQL
Еще раз большое Вам спасибо, в который раз выручаете 😊
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Kirill
Вероятно выполняется, но стоимость запроса изменилась после выполнения ANALYZE. Несколько дней назад перезапускал сервер, перед выполнением VACUUM VERBOSE обратил внимание что только для одной таблицы автовакум сработал за эти дни
Что значит "вероятно"? ;) Хотя бы процесс autovacuum laucher есть в системе? А workers?
И где-то были (кажется, на wiki... или погулите) запросы по поводу того, не пора ли выполнять autovacuum для таблиц — с их помощью можно косвенно узнать, делает он свою работу или нет.

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

Может, остальные мало менялись?
источник

K

Kirill in pgsql – PostgreSQL
Yaroslav Schekin
Что значит "вероятно"? ;) Хотя бы процесс autovacuum laucher есть в системе? А workers?
И где-то были (кажется, на wiki... или погулите) запросы по поводу того, не пора ли выполнять autovacuum для таблиц — с их помощью можно косвенно узнать, делает он свою работу или нет.

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

Может, остальные мало менялись?
спасибо почитаю, нет, таблицы все меняются каждый час через ELT забираем данные к себе. А проверял включен он или нет командой
SHOW autovacuum;
источник

K

Kirill in pgsql – PostgreSQL
Процесс есть))
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Kirill
спасибо почитаю, нет, таблицы все меняются каждый час через ELT забираем данные к себе. А проверял включен он или нет командой
SHOW autovacuum;
Вы не ответили про другие ошибки в логах (к примеру, если у stats.collector проблемы с передачей статистики, то и autovacuum работать не будет, и т.п.). ;)

> Процесс есть))

А workers? И можно посмотреть pg_stat_all_tables (last_autovacuum, last_autoanalyze) — обновляется там что?
И, опять-таки, поискать тот запрос, о котором я писал выше.
источник

K

Kirill in pgsql – PostgreSQL
Yaroslav Schekin
Вы не ответили про другие ошибки в логах (к примеру, если у stats.collector проблемы с передачей статистики, то и autovacuum работать не будет, и т.п.). ;)

> Процесс есть))

А workers? И можно посмотреть pg_stat_all_tables (last_autovacuum, last_autoanalyze) — обновляется там что?
И, опять-таки, поискать тот запрос, о котором я писал выше.
Про stats.collector тоже в логах ничего нет. В pg_stat_all_tables после запуска VACUUM цифры появились, в столбцах autovacuum и autonalyze тоже. workerы какие то в процессах тоже есть)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Kirill
Про stats.collector тоже в логах ничего нет. В pg_stat_all_tables после запуска VACUUM цифры появились, в столбцах autovacuum и autonalyze тоже. workerы какие то в процессах тоже есть)
Значит, сейчас работает, по крайней мере. :)
А по поводу этой таблицы — ещё можно проверить bloat (опять-таки, на wiki (да и вообще, много где) есть запросы).
источник

S

Siaržuk 🏴‍☠️... in pgsql – PostgreSQL
как сделать, чтобы таблица выдавала данные в utf-8? на print(conn.encoding) выдаёт utf-8, но когда вытягиваю данные в браузер, то там квакозябры.
источник

АШ

Айрат Шайдуллин... in pgsql – PostgreSQL
здравствуйте, помогите советом, пож-та, такая ситуация: есть вьюшка, достаточно с большим количеством JOIN (9 шт) и LEFT JOIN (5 шт). в первой же таблице есть поле с индексом. пишу такой запрос :
select t.* from view_name t where t.column = '112233'

Планировщик использует это условие в самую последнюю очередь, и шерстит все соединения которые дают 130 тыс. записей, потом по условию t.column = '112233' - оставляет 6 тыс.записей

Изначальная задумка была, что бы отрабатывало это условие и потом только для этих записей были выполнены соединения.
как можно поправить запрос вьюшки ?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Айрат Шайдуллин
здравствуйте, помогите советом, пож-та, такая ситуация: есть вьюшка, достаточно с большим количеством JOIN (9 шт) и LEFT JOIN (5 шт). в первой же таблице есть поле с индексом. пишу такой запрос :
select t.* from view_name t where t.column = '112233'

Планировщик использует это условие в самую последнюю очередь, и шерстит все соединения которые дают 130 тыс. записей, потом по условию t.column = '112233' - оставляет 6 тыс.записей

Изначальная задумка была, что бы отрабатывало это условие и потом только для этих записей были выполнены соединения.
как можно поправить запрос вьюшки ?
источник

АШ

Айрат Шайдуллин... in pgsql – PostgreSQL
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
У меня дежавю, что ли... а, нет — https://t.me/pgsql/291308 ;)
И \d+ или \sv самого view, кстати.
источник