sql >> データベース >  >> RDS >> PostgreSQL

Postgresでシーケンス名のリストを取得するにはどうすればよいですか?

    使用できるもの:

    select sequence_schema, sequence_name
    from information_schema.sequences;
    

    これにより、アクセス可能なシーケンスのリストが返されます。 所有ではなく、現在のユーザーに 彼によって。

    所有のシーケンスを一覧表示する場合 現在のユーザーがpg_classに参加する必要があります 、pg_namespace および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;
    

    Postgresでは、ユーザーは「自分の」だけでなく、複数のスキーマでオブジェクト(シーケンスなど)を所有できるため、シーケンスが作成されたスキーマを確認する必要もあります。

    マニュアルの詳細:



    1. R12.2で管理サーバーを追加する方法

    2. SQLを使用して垂直方向のデータを水平方向のデータに変換するにはどうすればよいですか?

    3. Oracle:グラフィカルデータベース表現の抽出

    4. ストアドプロシージャのCASEステートメントにMysqlケースが見つかりません