können Sie verwenden:
select sequence_schema, sequence_name
from information_schema.sequences;
Das wird eine Liste von Sequenzen zugänglich für den aktuellen Benutzer zurückzukehren, nicht die, die von ihm gehört.
Wenn Sie zur Liste Sequenzen wollen im Besitz vom aktuellen Benutzer Sie pg_class
, pg_namespace
und pg_user
anschließen müssen:
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;
In Postgres kann einen Benutzer Objekte besitzt (zB Sequenzen) in mehrere Schema, nicht nur "sein eigenes", also müssen Sie auch überprüfen, in welchem Schema die Sequenz erstellt wird.
Weitere Angaben im Handbuch:
Ich mag dies wie die Oracle zu bekommen, durch SQL-Anweisung der Sequenznamen zu wählen. – liu246437
@ liu246437 Ich habe die Antwort bearbeitet. Diese Abfrage sollte zu dem passen, wonach Sie suchen. – DunnoHowToCode
Ich versuche es durch Ihre Methode, ich bekomme es, Danke – liu246437