[pgsql-jp: 29285] Re: Tuple Size 計算

sugita @ sra.co.jp sugita @ sra.co.jp
2003年 3月 5日 (水) 20:25:24 JST


  杉田です。

From: tec-info @ doevery.com
Subject: [pgsql-jp: 29280] Tuple Size 計算
Date: Wed, 05 Mar 2003 16:56:35 +0900

;;; PostgreSQL 7.2.2を使っています。
;;; CSVファイルから機械的にSQLファイルを作成する
;;; スクリプトを書いているのですが、char(1)をずらずらと
;;; 1500も並べるものがでてきました。
;;; (構造が悪いという話はこっちに置いておいて。。^_^;)/ / ■
;;; 
;;; そこで、生成されたSQLを実行すると
;;; Tuple is too big: size 12444, max size 8136
;;; というエラーがでてきます。
;;; 
;;; 単純に考えると、1 bytes * 1500 なので、max sizeは
;;; 超えないと思うのですが、Tuple Sizeの計算はどう考えれば
;;; いいのでしょうか?

  char(1) は、データ長管理に 4 バイト、データ部に 1 文字分と 4 バイトアライン
メントのため、合計 8 バイトになるので、その繰り返しは 1013 が上限です。
  
  データベースのブロックサイズをデフォルトの 8192 より増やし (最大 32768) コン
パイルし、initdb すれば、取り敢えずは、最大カラム数の 1600 まで使えます。


Kenji Sugita                                      




pgsql-jp メーリングリストの案内