developppのblog

木下やま人の技術メモ

2016年09月

PostgreSQLの最大範囲

文字型
VARCHAR(n) 1GB (=10485760)
CHAR(n) 1GB (=10485760)
TEXT 1GB (=10485760)
create table test_table (
  test_column varchar(10485761)
);

実行結果:
   ERROR: 型varcharの長さは10485760を超えられません
   LINE 2: test_column varchar(10485761)


数値型
INTEGER 4バイト
SMALLINT 2バイト
BIGINT 8バイト
NUMERIC 1000桁
REAL 4バイト
DOUBLE PRECISION 8バイト
create table test_table (
  test_column INTEGER
);

insert into test_table (test_column) values(12345678901)

実行結果:
   ERROR: ERROR: integerの範囲外です


日付型
DATE 4バイト
TIMESTAMP 8バイト


バイナリ型
bytea 1GB
ラージオブジェクト 2GB

UPDATEとDELETEでのJOIN記述方法
UPDATE
--特定部署の社員マスタを更新する。
UPDATE
  社員マスタ s
SET
  削除フラグ = true
FROM
  部署マスタ b
WHERE
  b.部署ID = s.部署ID --JOINの条件
AND b.部署ID = 5;
DELETE
--特定の部署の社員マスタを削除する。
DELETE
FROM
  社員マスタ s
USING
  部署マスタ b
WHERE
  b.部署ID = s.部署ID --JOINの条件
AND b.部署ID = 5;

↑このページのトップヘ