1
postgresでは、カラムにint [] []が含まれているかどうかを問い合わせるにはどうすればよいですか?postgresqlに列配列の次元を問い合わせることはできますか? (カラムがint [] []の場合のテスト)
select *
from INFORMATION_SCHEMA.COLUMNS where table_name = 'mytable'
udt_nameとdata_typeが一緒に列の基本タイプを提供しています。しかし、これらの列のどれも、配列の列のアリティが何であるかを言いません(int [] []では2、int []では1、intでは0)。
pgadmin3でテーブルのスキーマを見ると、Postgresがこの情報を持っていることがわかります。
「attndims」はドキュメント属性のようなものです。 *現在、配列の次元数は強制されていないので、0でない値は事実上 "配列"を意味します* – pozs
'attndims'の値は、' create table'で列がどのように宣言されたかを反映します。私はドキュメントの注釈は、Postgresの次元が宣言された方法にかかわらず強制されないという事実を指していると思います。 – klin
はい、正確です。私が言ったように(少なくとも、意図された)1サーバ以上の値はドキュメントのみ。実際の列の値の次元は、それとは異なる可能性があるためです。 – pozs