Size: a a a

pgsql – PostgreSQL

2021 March 15

AL

Alexey Lesovsky in pgsql – PostgreSQL
это правда очень такой яркий случай, бывает по разному конечно
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Alexey Stavrov
Эти воркеры могут ждать сколько угодно и не очищать таблицы, так как за пороговые значения циферки не выходят
воркер не запускается просто так, воркер запускается после оценки того что таблице действительно нужен вакуум
источник

AS

Alexey Stavrov in pgsql – PostgreSQL
Т.е. выглядит так, что не только на кол-во воркерлв нужно смотреть (это кажется другой сценарий)
источник

AS

Alexey Stavrov in pgsql – PostgreSQL
Alexey Lesovsky
воркер не запускается просто так, воркер запускается после оценки того что таблице действительно нужен вакуум
Да, и эти оценки можно менять, чтобы запускался почаще. Как понять, что нужно поменять?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Alexey Stavrov
Да, и эти оценки можно менять, чтобы запускался почаще. Как понять, что нужно поменять?
посмотрите с этого доклада примерно 10-20 минут, тут про настройку
источник

AS

Alexey Stavrov in pgsql – PostgreSQL
Alexey Lesovsky
посмотрите с этого доклада примерно 10-20 минут, тут про настройку
Спасибо)
источник

AS

Alexey Stavrov in pgsql – PostgreSQL
Я тут понял, что я на самом деле хочу не то, как долго выполняется самая долгая транзакция (хотя это было бы тоже знать полезно), а сколько транзакции в какой-то момент времени выполняются (их кол-во).... Поправил на случай, если кто-то захочет добавить что-то ещё.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
select count(*) from pg_stat_activity where xact_start is not null
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
ну и опять же, мониторинг
источник

IK

Igor Komarov in pgsql – PostgreSQL
коллеги, подскажите пожалуйста, насколько плохая практика (и плохая ли) при  наличии N таблиц вида:

abstract_table ... id <...>

concrete_table_1 ... id <...>
concrete_table_2 ... id <...>

делать check с условием по типу
check (select exists (select 1 from abstract_table abs where abs.id = id))
источник

AS

Alexey Stavrov in pgsql – PostgreSQL
Alexey Lesovsky
select count(*) from pg_stat_activity where xact_start is not null
Ага, а проверка на idle in transaction не надо?
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
нет, не надо, idle in transaction это тоже транзакция, причем еще и вредная для постгреса
источник

AS

Alexey Stavrov in pgsql – PostgreSQL
Alexey Lesovsky
нет, не надо, idle in transaction это тоже транзакция, причем еще и вредная для постгреса
Ну да, понял, это вероятно лишнее условие
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Igor Komarov
коллеги, подскажите пожалуйста, насколько плохая практика (и плохая ли) при  наличии N таблиц вида:

abstract_table ... id <...>

concrete_table_1 ... id <...>
concrete_table_2 ... id <...>

делать check с условием по типу
check (select exists (select 1 from abstract_table abs where abs.id = id))
А Вы его просто не сделаете, так что вопрос "мимо".
источник

IK

Igor Komarov in pgsql – PostgreSQL
Yaroslav Schekin
А Вы его просто не сделаете, так что вопрос "мимо".
есть ли какой-то аналогичный способ установить подобное ограничение?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Igor Komarov
есть ли какой-то аналогичный способ установить подобное ограничение?
Триггер.
источник

IK

Igor Komarov in pgsql – PostgreSQL
Понял, спасибо
источник

P

Petr in pgsql – PostgreSQL
Igor Komarov
коллеги, подскажите пожалуйста, насколько плохая практика (и плохая ли) при  наличии N таблиц вида:

abstract_table ... id <...>

concrete_table_1 ... id <...>
concrete_table_2 ... id <...>

делать check с условием по типу
check (select exists (select 1 from abstract_table abs where abs.id = id))
// К слову, в pgsql при подобных случаях (т.е. EXISTS и т.д.) не обязательно делать SELECT 1, достаточно SELECT FROM table, что вернет строки с нулевым кол-вом столбцов.
источник

IK

Igor Komarov in pgsql – PostgreSQL
Petr
// К слову, в pgsql при подобных случаях (т.е. EXISTS и т.д.) не обязательно делать SELECT 1, достаточно SELECT FROM table, что вернет строки с нулевым кол-вом столбцов.
Прикольно. В таком случае их с нулем колонок просто вернет?
источник

P

Petr in pgsql – PostgreSQL
Igor Komarov
Прикольно. В таком случае их с нулем колонок просто вернет?
Верно
источник