個人的メモ
公式
https://www.postgresql.jp/docs/9.2/datatype.html
カテゴリ | データ型 | 格納サイズ | 範囲 | 用途例 |
---|---|---|---|---|
数値型 | smallint |
2バイト | -32,768 から +32,767 | 小規模なIDやカウンターに適用 |
数値型 | integer |
4バイト | -2,147,483,648 から +2,147,483,647 | 一般的な数値計算や中規模のIDに使用 |
数値型 | bigint |
8バイト | -9,223,372,036,854,775,808 から 9,223,372,036,854,775,807 | 大規模なデータベースのIDや大規模な数値計算に使用 |
数値型 | decimal |
可変長 | 小数点前までは131072桁、小数点以降は16383桁 | 金融取引や高精度計算に使用 |
数値型 | numeric |
可変長 | 小数点前までは131072桁、小数点以降は16383桁 | 同上 |
数値型 | real |
4バイト | 6桁精度 | 科学技術計算での近似値計算に使用 |
数値型 | double precision |
8バイト | 15桁精度 | 高精度な科学技術計算に使用 |
数値型 | smallserial |
2バイト | 1から32,767 | 自動生成される小規模な連続IDに使用 |
数値型 | serial |
4バイト | 1から2,147,483,647 | 自動生成される中規模の連続IDに使用 |
数値型 | bigserial |
8バイト | 1から9,223,372,036,854,775,807 | 自動生成される大規模な連続IDに使用 |
通貨型 | money |
8バイト | -922,337,203,685,477.5808 から 922,337,203,685,477.5807 | 金融取引の金額や費用の格納に使用 |
文字列型 | character(n), char(n) |
nバイト | 固定長n文字 | 固定長のデータ、例えば性別、国コードなど |
文字列型 | character varying(n), varchar(n) |
最大nバイト | 最大n文字 | 可変長データ、例えば名前、住所など |
文字列型 | text |
可変長 | 無制限 | 長いテキストデータ、例えば記事内容、コメント |
日付/時刻型 | timestamp [ (p) ] [ without time zone ] |
8バイト | 4713 BCから294276 AD | 歴史的または将来のイベントの日時の記録 |
日付/時刻型 | timestamp [ (p) ] with time zone |
8バイト | 4713 BCから294276 AD | グローバルで発生するイベントの時間を地域別に記録 |
日付/時刻型 | date |
4バイト | 4713 BCから5874897 AD | 日付のみが必要な場合(例:生年月日) |
日付/時刻型 | time [ (p) ] [ without time zone ] |
8バイト | 00:00:00から24:00:00 | 日々のスケジュールや業務時間の管理 |
日付/時刻型 | time [ (p) ] with time zone |
12バイト | 00:00:00+1459から24:00:00-1459 | タイムゾーンを考慮した正確な時刻記録 |
日付/時刻型 | interval [ fields ] [ (p) ] |
12バイト | -178000000年から178000000年 | 時間の経過、期間の測定(例:保証期間、契約期間) |
論理型 | boolean |
1バイト | true/false | フラグ、条件式の結果 |
JSON型 | json |
可変長 | 無制限 | 設定データ、動的フォームデータ |
JSON型 | jsonb |
可変長 | 無制限 | インデックス付きJSONデータ |
幾何データ型 | point |
16バイト | (x, y) | 地図上の特定の位置を表す |
幾何データ型 | line |
32バイト | ((x1, y1), (x2, y2)) | 無限に伸びる直線を表現(完全には実装されていない) |
幾何データ型 | lseg |
32バイト | ((x1, y1), (x2, y2)) | 有限の線分を表す |
幾何データ型 | box |
32バイト | ((x1, y1), (x2, y2)) | 矩形を表現するために使用 |
幾何データ型 | path |
16 + 16nバイト | 閉経路:((x1, y1), ...) | 閉じた多角形のパスを表現する |
幾何データ型 | path |
16 + 16nバイト | 開経路:[(x1, y1), ...] | 開いた経路のパスを表現する |
幾何データ型 | polygon |
40 + 16nバイト | ((x1, y1), ...) | 多角形を表現する |
幾何データ型 | circle |
24バイト | <(x, y), r>(中心と半径) | 円を表現するために使用 |
ネットワーク型 | cidr |
7もしくは19バイト | IPv4、およびIPv6ネットワーク | IPアドレスブロックの管理、ネットワーク計画 |
ネットワーク型 | inet |
7もしくは19バイト | IPv4もしくはIPv6ホスト、およびネットワーク | 個別のIPアドレスおよびそのネットワークマスクの記録 |
ネットワーク型 | macaddr |
6バイト | MACアドレス | ネットワークハードウェアの識別 |
ビット列型 | bit(n) |
nビット | 固定長nビット | フラグ、ビットマスク、固定長ビットデータの格納 |
ビット列型 | bit varying(n) |
最大nビット | 可変長最大nビット | 可変長のビットデータの格納 |
テキスト検索型 | tsvector |
可変長 | - | ドキュメントの正規化された単語のリストを格納 |
テキスト検索型 | tsquery |
可変長 | - | 検索クエリを表す、正規化された単語と論理演算子の組み合わせ |
テキスト検索型 | regconfig |
4バイト | - | テキスト検索の設定を指定するための型 |
地理空間型 | geometry |
可変長 | 地理空間データ (PostGIS拡張で利用) | 地理情報システム(GIS)のデータ管理 |
UUID型 | uuid |
16バイト | ユニバーサル一意識別子 | システム全体で一意なIDの生成 |
XML型 | xml |
可変長 | XMLデータ | XMLデータの格納と交換 |
列挙型 | enum |
可変長 | 列挙型(指定された入力値のみ許容) | ステータス、カテゴリ |
配列型 | array |
可変長 | 同一データ型の要素を持つ可変長配列 | 複数の電話番号、趣味リスト |
範囲型 | int4range |
可変長 | 整数の範囲 | 数値範囲を指定する場合、例えば商品の価格範囲 |
範囲型 | int8range |
可変長 | 大きな整数の範囲 | データベースにおける大量の数値データの範囲指定 |
範囲型 | numrange |
可変長 | 数値の範囲 | 金融取引における金額の範囲指定 |
範囲型 | tsrange |
可変長 | タイムスタンプの範囲 | 期間を指定するイベントや予約システム |
範囲型 | tstzrange |
可変長 | タイムゾーン付きタイムスタンプの範囲 | グローバルなイベントのスケジュール管理 |
範囲型 | daterange |
可変長 | 日付の範囲 | 教育機関における学期や休暇期間の管理 |