sql >> Database >  >> RDS >> PostgreSQL

Hoe krijg ik een lijst met sequentienamen in Postgres?

U kunt het volgende gebruiken:

select sequence_schema, sequence_name
from information_schema.sequences;

Dat geeft een lijst met reeksen terug die toegankelijk zijn aan de huidige gebruiker, niet degenen die eigendom zijn door hem.

Als u sequenties wilt weergeven die eigendom zijn door de huidige gebruiker moet je lid worden van pg_class , pg_namespace en 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;

In Postgres kan een gebruiker objecten (bijv. reeksen) in meerdere schema's bezitten, niet alleen "zijn eigen", dus u moet ook controleren in welk schema de reeks is gemaakt.

Meer details in de handleiding:



  1. Hoe voer ik een bulkupdate uit in mySQL met node.js

  2. SQL Query Doe mee in CodeIgniter

  3. Kan geen verbinding maken met PostgreSQL met PHP pg_connect()

  4. Wanneer SIGTERM wordt verzonden, sluit het onderliggende proces dan de mysql-verbinding?