私はPostgresでシーケンス名のリストを取得したいと思います。オラクルでPostgresでシーケンス名のリストを取得するには?
、私が使用することができます。
select sequence_name
from user_sequences
しかし、Postgresの中で、私はその文を使用する場合、それは常にエラーをスロー:見つからないUSER_SEQUENCESを。
私はこれをPostgresでどうやって行うことができますか?
私はPostgresでシーケンス名のリストを取得したいと思います。オラクルでPostgresでシーケンス名のリストを取得するには?
、私が使用することができます。
select sequence_name
from user_sequences
しかし、Postgresの中で、私はその文を使用する場合、それは常にエラーをスロー:見つからないUSER_SEQUENCESを。
私はこれをPostgresでどうやって行うことができますか?
SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';
それとも\ds
続いpsql -U username -E
としてpsqlを実行しているしようとしています。結果を生成するために使用されたクエリも表示されます。
:
現在のユーザーではなく、 は彼によってを所有しているものにシーケンス アクセスのリストを返しますselect sequence_schema, sequence_name
from information_schema.sequences;
。
あなたはあなたがpg_class
、pg_namespace
とpg_user
に参加する必要があり、現在のユーザーによってを所有しているシーケンスを一覧表示したい場合は:、ユーザーは複数のスキーマ内のオブジェクト(例えば配列)所有できるのPostgresでは
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;
ありませんちょうど "彼自身"であるため、シーケンスが作成されたスキーマもチェックする必要があります。
マニュアルの詳細:
私はシーケンス名を選択するために、SQLステートメントを使用して、Oracleのようにこれを取得したいです。 – liu246437
@ liu246437答えを編集しました。このクエリは、あなたが探しているものに合うはずです。 – DunnoHowToCode
私はあなたのメードで試してみると、ありがとう – liu246437