2011-07-06 40 views
0

postgresql内の特定のテーブルのすべてのカラムのデータ型、サイズ、精度、スケールを単一のSQL文で取得する方法は?postgresqlカラムのデータ型、サイズ、精度、位取りを取得する

テーブルには、データ型(int2、int4、int8、float4、float8、numeric、varchar、char、 'タイムスタンプ')。特定のデータ型に対して精度/位取りを適用できない場合は、nullにすることができます。

このスキーマはビルトインですが、このスキーマは削除できますが、このためにINFORMATION_SCHEMAは使用しないでください。私はこのスキーマを使ってコードを書いていました。私はちょうどpg_catalogテーブル/ビューを使用したいです。

+1

あなたが使用したいテーブル/ビュー知っている場合は、あなたが私たちを何が必要なのですか?私はあなたがRentACoder.comを探していると思う... –

+0

私はpg_attribute、pg_classとpg_typeを使用しましたが、私はちょうど私が単一のSQLステートメントで欲しかったものを得られませんでした..だから、私はここに投稿しました。他の誰かが私の質問に考えを持っていますか?ところで、RentACoder.comとは何ですか? – vchitta

+0

「INFORMATION_SCHEMA」をどのように削除できるのだろうか?誰か説明できますか? –

答えて

0

information_schemaのテーブルは、システムテーブルのビューです。また、ベースとしているあなたはまだユーザーフレンドリーな出力にはいくつかのタイプとして、やるべき仕事キャストを持っています

\dS+ information_schema.columns 

:あなたはpsqlでこのコマンドを使用する場合は、列にビューを生成し、ビューの定義を取得しますinformation_schemaで、それはあまりにも難しいはずはありません。

EDIT:8.4以前のバージョンでは、あなたがD + \使用する必要はなく、\ dSを+

+0

okですが、これもinformation_schemaに基づいています。pg_catalogテーブル/ビューでのみ書き込み可能なボディはありますか? – vchitta

+1

実際には、ビューの定義は、make-it-for-for-for-output型変換を除いて、pg_catalogのテーブル/ビューに基づいています。そのビュー定義をコピーして変更して、情報スキーマの型キャストを削除することができます。これで、information_schemaの存在に依存しないクエリが作成されます。 –

関連する問題