Чтобы отобразить все последовательности в PostgreSQL, вы можете использовать различные методы. Вот несколько подходов с примерами кода:
Метод 1: использование Information_schema
SELECT sequence_name
FROM information_schema.sequences
WHERE sequence_schema = 'public';
Этот метод запрашивает представление information_schema.sequencesи фильтрует последовательности в схеме public.
Метод 2: запрос к таблице каталога pg_sequences
SELECT sequence_name
FROM pg_sequences
WHERE schemaname = 'public';
Этот метод напрямую запрашивает таблицу каталога pg_sequences, чтобы получить имена последовательностей в схеме public.
Метод 3. Использование таблицы каталога pg_class
SELECT relname AS sequence_name
FROM pg_class
WHERE relkind = 'S'
AND relnamespace = 'public'::regnamespace;
Этот метод запрашивает таблицу каталога pg_classи фильтрует последовательности, при этом для столбца relkindустановлено значение «S» (указывающее последовательность). Он также фильтрует последовательности в схеме public.
Метод 4. Запрос к таблице каталога pg_namespace
SELECT sequence_name
FROM pg_namespace ns
JOIN pg_class c ON c.relnamespace = ns.oid
WHERE ns.nspname = 'public'
AND c.relkind = 'S';
Этот метод предполагает соединение таблиц каталога pg_namespaceи pg_class. Он фильтрует последовательности в схеме public, объединяя их по столбцу relnamespaceи фильтруя последовательности с помощью столбца relkind, для которого установлено значение «S».