<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<meta http-equiv="Content-Style-Type" content="text/css" />
	<title>PostgreSQL テーブルサイズ計算機</title>
	<script type="text/javascript" src="gram.js"></script>
	<link rel="stylesheet" type="text/css" href="../../default.css">
	<link rel="stylesheet" type="text/css" href="style.css" />
</head>

<body>
<!--#include virtual="../../menu2.html"-->

<h1>PostgreSQL テーブルサイズ計算機</h1>
<p>PostgreSQLのテーブル定義から必要なディスク容量を計算します。
処理はすべて JavaScript で行います。入力内容を外部へ送信することはありません。
Internet Explorer 8, Firefox 3.5, Google Chrome 2.0 で動作を確認しています。</p>
<dl>
<dt>構成ファイル</dt>
<dd><a href="pg_relation_size.html">pg_relation_size.html</a></dd>
<dd><a href="gram.js">gram.js</a></dd>
</dl>

<h2>入力: テーブル定義</h2>
<p>「SQL形式」にテーブル定義のSQLを入力し「→」ボタンをクリックするか、「表形式」にテーブル定義を入力し「←」ボタンをクリックしてください。</p>
<form onSubmit="return false;">
PostgreSQL バージョン:<input id="version" type="text" value="8.4"></input> / 行数:<input id="rows" type="text" value="1000"></input>
<table class="default">
<thead>
<tr>
<th>SQL形式</th>
<th>&nbsp;</th>
<th>表形式</th>
</tr>
</thead>
<tbody>
<tr>
<td style="vertical-align:top">
<textarea id="sql" rows="16" cols="40">
CREATE TABLE スキーマ.テーブル (
  i integer,
  c character varying(30),
  n numeric(10,2),
  t timestamp with time zone
) WITH (FILLFACTOR=100);</textarea>
</td>
<td style="vertical-align:middle">
<input type="button" value="→" onClick="parse();"></input>
<br /><br />
<input type="button" value="←" onClick="deparse();"></input>
</td>
<td style="vertical-align:top">
名前:<input id="table" type="text" value="スキーマ.テーブル" size="40"></input>
<table id="fields" class="default">
<thead>
<tr>
<th>ID</th>
<th>名前</th>
<th colspan="2">型</th>
<th title="型のバイト数 (+パディングバイト数)">サイズ</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:right">1</td>
<td><input type="text" size="10" value="i"></input></td>
<td><input type="text" size="30" value="integer"></input></td>
<td><input type="text" size="6"></input></td>
<td>4 (+0)</td>
</tr>
<tr>
<td style="text-align:right">2</td>
<td><input type="text" size="10" value="c"></input></td>
<td><input type="text" size="30" value="character varying"></input></td>
<td><input type="text" size="6" value="30"></input></td>
<td>31 (+0)</td>
</tr>
<tr>
<td style="text-align:right">3</td>
<td><input type="text" size="10" value="n"></input></td>
<td><input type="text" size="30" value="numeric"></input></td>
<td><input type="text" size="6" value="10,2"></input></td>
<td>11 (+2)</td>
</tr>
<tr>
<td style="text-align:right">4</td>
<td><input type="text" size="10" value="t"></input></td>
<td><input type="text" size="30" value="timestamp with time zone"></input></td>
<td><input type="text" size="6"></input></td>
<td>8 (+0)</td>
</tr>
<tr>
<td style="text-align:right">5</td>
<td><input type="text" size="10"></input></td>
<td><input type="text" size="30"></input></td>
<td><input type="text" size="6"></input></td>
<td>&nbsp;</td>
</tr>
<tr>
<td style="text-align:right">6</td>
<td><input type="text" size="10"></input></td>
<td><input type="text" size="30"></input></td>
<td><input type="text" size="6"></input></td>
<td>&nbsp;</td>
</tr>
<tr>
<td style="text-align:right">7</td>
<td><input type="text" size="10"></input></td>
<td><input type="text" size="30"></input></td>
<td><input type="text" size="6"></input></td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="5">
<input type="button" value="フィールドを追加" onClick="0;"></input>
← 工事中
</td>
</tr>
</tbody>
</table>
FILLFACTOR:<input id="fillfactor" type="text" value="100"></input>
</td>
</tr>
</tbody>
</table>
</form>

<h2>出力: サイズ見積</h2>
<dl>
<dt>行数</dt>
<dd id="out_rows">(N/A)</dd>
<dt>1行あたりのサイズ</dt>
<dd id="out_bytes_per_row">(N/A)</dd>
<dt>ページあたりの行数</dt>
<dd id="out_rows_per_page">(N/A)</dd>
<dt>全体サイズ</dt>
<dd id="out_total_bytes">(N/A)</dd>
</dl>
</body>

<hr>
<p align="right">2009/07/26</p>
</html>
