[pgsql-jp: 26685] Re: Re[2]: INSERT件数の最大

sugita @ sra.co.jp sugita @ sra.co.jp
2002年 7月 14日 (日) 14:48:04 JST


  杉田です。

From: <tyunn @ to.email.ne.jp>
Date: Sun, 14 Jul 2002 08:49:06 +0900

;;; >   NULL 値がない場合で、f1 に漢字 2 文字で、56 バイトです。

  補足すると、レコードごとに管理データのオーバヘッドがあるからです。その他に、
データ格納ページ内に管理データもあります。

;;;   textは可変長だが、varchar(x)はそうではないと思っていました。

    =#  select typname from pg_type where typstorage = 'x' or typstorage = 'm';

というようにすると分かります。p: 即値/内部、e:即値/外部、m:圧縮/内部、x:即値か
圧縮/内部か外部' で、マニュアルの該当箇所は以下の部分です。

    PostgreSQL 7.2.1 Developer's Guide
    Chapter 3. System Catalogs
    3.21 pg_type

;;;   boolは、アライメントがつくということですがbool以外でアライメントが入る型
;;; は
;;;   他にあるでしょうか?

  圧縮がかからないならば、C の構造体と同じように考えればよいはずです。

;;;   アライメントは、Postgresをphpだけで利用している場合は意識する必要がない
;;;   と思いますがそれでよいでしょうか?(レコードサイズを取得する場合は除く)

  はい。

;;;   これらに関する詳細がどこか(書籍、サイト、・・)にあれば見たいのですが
;;;   ご存知ないでしょうか?

  書籍や記事でここらを詳細に書いてあるものはありません。

  先のメールとこのメールでのポインタあたりから、マニュアルで関係しそうなものを
あたって、リレーションを 16 進ダンプないし pg_filedump して確かめます。


Kenji Sugita
 



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