Получить все последовательности в PostgreSQL с примерами кода

Чтобы отобразить все последовательности в 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».