3.3. 文字データ型

SQLでは、character型と character varying型の2つの主要な文字データ型を定義しています。 Postgresではこれらの型をサポートしていますが、 それらに加えてより一般的なtext型もサポートしています。 text型はcharacter varying型と違って、 フィールドサイズの明白な上限を必要としません。

文字列の構文に関しての詳細はSection 1.1.2.1、 使用可能な演算子と関数に関しての詳細はChapter 4を ご覧下さい。

Table 3-4. 文字データ型

型名データベース上のバイト数注釈説明
character(n), char(n)(4+n) バイトSQL互換性あり固定長文字列(空白可)
character varying(n), varchar(n)(4+n) バイトSQL互換性あり制限付の可変長文字列
text(4+n) バイトもっとも柔軟性がある制限無しの可変長文字列

Note: text型はSQL互換性ではありませんが、多くのRDBMSパッケージでも 採用されているものです。

この他にも、Postgresには2つの固定長文字列型が あります。name型という、内部カタログ名の格納のために 使用される型があり、この型は一般的な使用のためではありません。この長さは 現在32バイト(31文字とターミネーター)と定義されていますが、マクロの NAMEDATALENを使用して参照します。長さはコンパイル時に 設定されますが、特別な場合には変更することができます。デフォルトの 最大値は今後のリリースで変更があるかもしれません。"char"型 (引用符に注意)はchar(1)とは異なり、1バイトの格納スペースしか 使用しません。この型も内部カタログでpoor-man's 列挙型として使用されています。

Table 3-5. 特別な文字データ型

型名データベース上のバイト数説明
"char"1 バイト1文字の内部用データ型
name32 バイト31文字の内部用データ型