Size: a a a

pgsql – PostgreSQL

2021 February 18

YS

Yaroslav Schekin in pgsql – PostgreSQL
Alexandr Kuvaev
Ребят, всем привет!
У меня такой вопрос, есть N таблиц, имеющие разные поля.
Есть ли хитрый индекс, который позволит объединить запросы/сделать возможным не делать запрос в каждую таблицу отдельно?
Нет. Индекс создаётся только на одной конкретной таблице.
А что за задача, кстати (как-то странно выглядит)?
источник

AK

Alexandr Kuvaev in pgsql – PostgreSQL
Требуется организовать и смэпить таблицы с разным содержимым в единый вид
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Alexandr Kuvaev
Требуется организовать и смэпить таблицы с разным содержимым в единый вид
Я имел в виду "почему такое требуется?"
Ну а так — может, view подойдёт?
источник

AK

Alexandr Kuvaev in pgsql – PostgreSQL
вью, совсем не подходит по сути это же будет тот же запрос
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Materialized view?
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Alexandr Kuvaev
вью, совсем не подходит по сути это же будет тот же запрос
Тогда Вам стоит объяснить, чего Вы на самом деле хотите.
Потому что пока я не вижу, чем view не подходит к тому, что Вы писали.
источник

AK

Alexandr Kuvaev in pgsql – PostgreSQL
Yaroslav Schekin
Тогда Вам стоит объяснить, чего Вы на самом деле хотите.
Потому что пока я не вижу, чем view не подходит к тому, что Вы писали.
Я хочу исключить запросы к отдельным таблицам, мб есть индекс, какой хитрый
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Alexandr Kuvaev
Я хочу исключить запросы к отдельным таблицам, мб есть индекс, какой хитрый
Зачем и как (как что-то может "знать", из какой таблицы нужны данные, по самому тексту запроса?) Вы хотите их исключить?
Насчёт индексов я уже ответил.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
Andrey Tatarnikov
да и документация говорит, что этот лимит не применяется к временным файлам, только к файлам временных таблиц
вы все перепутали,
temp_file_limit относится именно к временным файлам, к временным таблицам он отношения не имеет - у временных таблиц нет лимита на использование места на диске.

цитата
It should be noted that disk space used for explicit temporary tables, as opposed to temporary files used behind-the-scenes in query execution, does not count against this limit.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
полагаю вы ориентировались на перевод отсюда:
https://postgrespro.ru/docs/postgrespro/13/runtime-config-resource

что-то мне кажется там косяк перевода.
источник

AK

Alexandr Kuvaev in pgsql – PostgreSQL
Yaroslav Schekin
Зачем и как (как что-то может "знать", из какой таблицы нужны данные, по самому тексту запроса?) Вы хотите их исключить?
Насчёт индексов я уже ответил.
Понял вас
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Alexey Lesovsky
полагаю вы ориентировались на перевод отсюда:
https://postgrespro.ru/docs/postgrespro/13/runtime-config-resource

что-то мне кажется там косяк перевода.
Да, русская документация по pg11 говорит прямо обратное
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Выходит, лимита на временные файлы нет, work_mem что-то около 1Гб, а вот можно ли на sql понять сколько же места занято временными файлами в моменте? Пробовал смотреть на размер tablespace, там кажется временные файлы не учтены
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
у вас какая версия постгреса?
источник

AT

Andrey Tatarnikov in pgsql – PostgreSQL
11
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
хм, в 12 появилось pg_ls_tmpdir() функция через нее было бы совсем просто. в вашем случае надо поискать на stackoverflow рекурсивные запросы которые делают аналогичную задачу
источник

AL

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

AT

Andrey Tatarnikov in pgsql – PostgreSQL
Тут не факт, что хватит прав. :)
Странно, вообще, что можно клиентом на sql получить любую фактически инфу по базе, таблицам, индексам и проч., но оценить временные файлы - нет
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
ограничения есть для простых ролей, то что для суперюзера нет ограничений - не должно удивлять вас.
источник

AL

Alexey Lesovsky in pgsql – PostgreSQL
на то он и суперюзер
источник