PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak uzyskać listę nazw sekwencji w Postgresie?

Możesz użyć:

select sequence_schema, sequence_name
from information_schema.sequences;

To zwróci listę sekwencji dostępnych do bieżącego użytkownika, a nie do tych należących do przez niego.

Jeśli chcesz wyświetlić listę sekwencji, które są własne przez obecnego użytkownika, musisz dołączyć do pg_class , pg_namespace i 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;

W Postgresie użytkownik może posiadać obiekty (np. sekwencje) w wielu schematach, a nie tylko „swoim”, dlatego należy również sprawdzić w jakim schemacie tworzona jest sekwencja.

Więcej szczegółów w instrukcji:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ActiveRecord próbuje połączyć się z niewłaściwą bazą danych za pomocą rbenv

  2. Jak zaimportować spakowany plik do Postgres Table?

  3. Test IS NOT NULL dla rekordu nie zwraca TRUE, gdy zmienna jest ustawiona

  4. Oblicz różnicę między wynikami dwóch zapytań count(*) na podstawie 2 tabel w PostgreSQL

  5. Grupowanie niektórych wynikowych pól sql we wspólny obiekt