powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Определить вид сортировки для каждой колонки индекса
4 сообщений из 4, страница 1 из 1
Определить вид сортировки для каждой колонки индекса
    #39055611
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таким запросом получаю все колонки, по которым построен индекс:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
                                SELECT a.attname as column_name
                                     , i.relname as index_name
                                 FROM  pg_class t
                                     , pg_class i
                                     , pg_index ix
                                     , pg_attribute a
                                WHERE t.oid = ix.indrelid
                                  AND i.oid = ix.indexrelid
                                  AND a.attrelid = t.oid
                                  AND a.attnum = ANY(ix.indkey)
                                  AND i.relname = 'customers_composite_idx'
                                  AND t.relname = 'customers'



Как определить вид сортировки (asc/desc) каждой колонки?
...
Рейтинг: 0 / 0
Определить вид сортировки для каждой колонки индекса
    #39055731
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобще эту информацию можно получить из словаря БД?

ПС
Похоже, что PgAdmin III при генерации DDL индекса не обращает внимания на порядок сортировки отдельных колонок.
...
Рейтинг: 0 / 0
Определить вид сортировки для каждой колонки индекса
    #39057401
Фотография grufos
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим Н,

вот здесь подробно рассказано где и как что лежит в системных таблицах касательно вашего вопроса.
http://stackoverflow.com/questions/18121103/how-to-get-the-index-column-orderasc-desc-nulls-first-from-postgresql

если кратко, то:
Код: sql
1.
CASE WHEN i.indoption[k-1] & 1 = 1 THEN 'DESC' ELSE 'ASC' END AS descasc


где, i это pg_catalog.pg_index, k - это unnest(pg_catalog.pg_index.indkey)
почитайте ссылку.
...
Рейтинг: 0 / 0
Определить вид сортировки для каждой колонки индекса
    #39057730
Максим Н
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
grufos,

Спасибо!
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Определить вид сортировки для каждой колонки индекса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]