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

plpgsqlを介してPostgresからテーブルの主キーを取得するにはどうすればよいですか?

    上記のクエリは非常に遅いため、非常に悪いです。

    この公式バージョンをお勧めします:

    http://wiki.postgresql.org/wiki/Retrieve_primary_key_columns

    スキーマが必要な場合、クエリは次のようになります

    SELECT               
      pg_attribute.attname, 
      format_type(pg_attribute.atttypid, pg_attribute.atttypmod) 
    FROM pg_index, pg_class, pg_attribute, pg_namespace 
    WHERE 
      pg_class.oid = 'foo'::regclass AND 
      indrelid = pg_class.oid AND 
      nspname = 'public' AND 
      pg_class.relnamespace = pg_namespace.oid AND 
      pg_attribute.attrelid = pg_class.oid AND 
      pg_attribute.attnum = any(pg_index.indkey)
     AND indisprimary
    


    1. oracle-多くの日付形式を単一の形式の日付に変換します

    2. postgresでのcreatedbの問題

    3. すべてのアクティビティの開始後に表示されるSQLiteConstraintExceptionエラー

    4. データベース列のビットフラグに不利な点はありますか?