Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / PostgreSQL Новый топик    Ответить
 Как узнать ключ секционирования для таблицы?  [new]
qwerty005
Member

Откуда:
Сообщений: 35
Добрый день!
PostgreSQL 9.4.24 (Greenplum Database 6.14.1 build 6.14.1_arenadata14-403.git9e106f5.el7)
Можно ли написать запрос, чтобы получить информацию о том, по каким колонкам секционирована таблица (ключ секционирования)?
Буду благодарна ссылке на документацию.
1 июн 21, 11:13    [22329722]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать ключ секционирования для таблицы?  [new]
Александр Кузьминов
Member

Откуда:
Сообщений: 17
qwerty005,

Попробуйте такой селект, используется для поиска внешних ключей (если вы это имели ввиду)

select confrelid::regclass as table_source
, af.attname as source_key,
conrelid::regclass as table_dest,
a.attname as dest_key,
ss2.conname as constraint_name
from pg_attribute af, pg_attribute a,
(select conrelid,confrelid,conkey[i] as conkey, confkey[i] as confkey,conname
from (select conrelid,confrelid,conkey,confkey,
generate_series(1,array_upper(conkey,1)) as i,conname
from pg_constraint where contype = 'f') ss) ss2
where af.attnum = confkey and af.attrelid = confrelid and
a.attnum = conkey and a.attrelid = conrelid
AND confrelid::regclass = 'public.tbl_servicecall'::regclass -- Ввод названия таблицы к которой нужно найти внешние ключи
order by conrelid::regclass,a.attname
1 июн 21, 14:23    [22329831]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать ключ секционирования для таблицы?  [new]
court
Member

Откуда:
Сообщений: 2335
qwerty005,

How to identify the column used to partition a table from the Postgres system catalogs
1 июн 21, 15:13    [22329883]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать ключ секционирования для таблицы?  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4785
court
qwerty005,

How to identify the column used to partition a table from the Postgres system catalogs


Это в нормальном Pg
а greenplum - сильно переписанный форк и гарантии что там все так же внутри никто не даст.
Так что надо проверять и если что сверяться с официальной докой гринплама.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru
1 июн 21, 16:18    [22329926]     Ответить | Цитировать Сообщить модератору
 Re: Как узнать ключ секционирования для таблицы?  [new]
Maxim Boguk
Member

Откуда: Melbourne, Австралия
Сообщений: 4785
court
qwerty005,

How to identify the column used to partition a table from the Postgres system catalogs


Вдвойне странный совет - учитывая что у автора топика версия Pg от которой greenplum делали 9.4 где никакого нативного партиционирования не было... а только на основе constraints и наследования.
В общем рекомендую сначала изучить матчасть а потом советовать глупости.

--
Maxim Boguk
лучшая поддержка PostgreSQL: dataegret.ru

Сообщение было отредактировано: 1 июн 21, 16:13
1 июн 21, 16:21    [22329930]     Ответить | Цитировать Сообщить модератору
Все форумы / PostgreSQL Ответить