Você pode usar:
select sequence_schema, sequence_name
from information_schema.sequences;
Isso retornará uma lista de sequências acessíveis para o usuário atual, não para os de propriedade por ele.
Se você deseja listar sequências de propriedade pelo usuário atual, você precisa ingressar em
pg_class
, pg_namespace
e pg_user
:select n.nspname as sequence_schema,
c.relname as sequence_name,
u.usename as owner
from pg_class c
join pg_namespace n on n.oid = c.relnamespace
join pg_user u on u.usesysid = c.relowner
where c.relkind = 'S'
and u.usename = current_user;
No Postgres, um usuário pode possuir objetos (por exemplo, sequências) em vários esquemas, não apenas "seu próprio", então você também precisa verificar em qual esquema a sequência foi criada.
Mais detalhes no manual:
- https://www.postgresql.org/docs/ current/static/infoschema-sequences.html
- https://www.postgresql.org/ docs/current/static/catalog-pg-class.html