Size: a a a

pgsql – PostgreSQL

2020 May 20

DG

Denis Girko ☕️ in pgsql – PostgreSQL
Gubaydullin Ruslan
никак нельзя получить набор строк с интами?
1) Есть jsonb_array_elements_text, на выходе получится тип text.
или
2) Можно, наверное, сам id перед сравнением скастовать в jsonb: to_jsonb(id) IN (…).
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Egor Bronin
Всем привет! Почему лимит так меняет план? Причем запрос становится на много медленнее
Потому что планируется совершенно по-другому (в картинки не всматривался).
Вы не пробовали VACUUM ANALYZE выполнить на этой таблице, для начала?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Dmitry Marakasov
Привет, а есть какой-нибудь более удобный способ определять константы в базе чем immutable функции? Если использовать функции, будет ли от них оверхед или помехи планиовщику?
Таблицы, например. ;)
Но если это в самом деле константы — да, лучше immutable функции, я думаю.
источник

EB

Egor Bronin in pgsql – PostgreSQL
Yaroslav Schekin
Потому что планируется совершенно по-другому (в картинки не всматривался).
Вы не пробовали VACUUM ANALYZE выполнить на этой таблице, для начала?
да, результат тотже. Нужно больше информации? Какой?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Egor Bronin
да, результат тотже. Нужно больше информации? Какой?
Хмм... \d таблицы и планы (EXPLAIN (ANALYZE, BUFFERS)) в нормальном виде, лучше на https://explain.depesz.com/ , для начала, например.
Можно предварительно увеличить stats. target для этого поля, и сделать VACUUM ANALYZE ещё раз.
источник

KK

Konstantin K in pgsql – PostgreSQL
как проверить, доступно ли пользователю определенное действие?
источник

KK

Konstantin K in pgsql – PostgreSQL
чтобы эксепшен не ловить
источник

2_

2flower _ in pgsql – PostgreSQL
Konstantin K
чтобы эксепшен не ловить
так его же можно поймать и обработать внутри пг.
источник

KK

Konstantin K in pgsql – PostgreSQL
да это можно, но мб есть способ проверить?)
источник

EK

Eduard Korolev in pgsql – PostgreSQL
подскажите как реально оценить размер базы данных или таблицы? есть функция которая возвращает это, например pg_database_size(), но помоему она не учитывает toast таблицы, в которые вынесены данные. А там тоже может быть много данных. Кто как делает?
источник

KK

Konstantin K in pgsql – PostgreSQL
а походу вот
источник

KK

Konstantin K in pgsql – PostgreSQL
SELECT grantee, privilege_type
FROM information_schema.role_table_grants
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Eduard Korolev
подскажите как реально оценить размер базы данных или таблицы? есть функция которая возвращает это, например pg_database_size(), но помоему она не учитывает toast таблицы, в которые вынесены данные. А там тоже может быть много данных. Кто как делает?
Учитывает. А так — вот все эти функции, по идее: https://www.postgresql.org/docs/current/functions-admin.html#FUNCTIONS-ADMIN-DBSIZE
источник

2_

2flower _ in pgsql – PostgreSQL
Konstantin K
SELECT grantee, privilege_type
FROM information_schema.role_table_grants
это же только таблицы, а если будет функция, которая вызывает таблицы.
источник

KK

Konstantin K in pgsql – PostgreSQL
хм
источник

2_

2flower _ in pgsql – PostgreSQL
или insert а доступ к sequence отсутствует
источник

EB

Egor Bronin in pgsql – PostgreSQL
Yaroslav Schekin
Хмм... \d таблицы и планы (EXPLAIN (ANALYZE, BUFFERS)) в нормальном виде, лучше на https://explain.depesz.com/ , для начала, например.
Можно предварительно увеличить stats. target для этого поля, и сделать VACUUM ANALYZE ещё раз.
Ярослав, сколько выставить таргет?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Egor Bronin
Ярослав, сколько выставить таргет?
Хотя бы 1000. Можно и 10000.
источник

E

Evgeny in pgsql – PostgreSQL
Привет!
https://bit.ly/3bMORLR
Апдейт падает в зависимости от порядка строк в базе.
Есть ли какой-то способ решить эту проблему?
Например, задав порядок апдейта строк?
Хочется одним запросом занулить существующий флаг и выставить новый по хитрому правилу.
источник

E

Evgeny in pgsql – PostgreSQL
Я пробовал 'update from (select Id from users order by is_admin desc)', но что - то не преуспел
источник