[pgsql-jp: 31571] table をまとめて作りたい

KOYAMA HIDEKI hill47goodtree @ ybb.ne.jp
2003年 11月 23日 (日) 22:13:13 JST


PostgreSQL初心者です。よろしくお願いします。PHPといっしょに使っていますが、tableの作成について質問させていただきます。1日ごとのtableを作っていますが、これをまとめて作りたくて、PHPで以下のスクリプトを書きました。
<?php
// テーブルを作る(test1)(2003年12月)
$dbname = test1;
exec('su - postgres');
exec('psql $dbname');
for ($i = 1; $i < 32; $i++) {
$conn = pg_connect("dbname=$dbname");
$sql1 = "CREATE SEQUENCE s_2003_12_$i_ID START 1;";
pg_query($conn, $sql1);
$sql2 = "GRANT ALL ON s_2003_12_$i_ID TO nobody;";
pg_query($conn, $sql2);
$sql3 = "CREATE TABLE s_2003_12_$i (id INTEGER PRIMARY KEY
DEFAULT nextval('s_2003_12_$i_ID'),
        regdate TIMESTAMP(0) DEFAULT CURRENT_TIMESTAMP,
	ex_date date,
	num integer,
	nam text,
	syozoku text,
	speed text,
	kennsa text
	);";
pg_query($conn, $sql3);
$sql4 = "GRANT ALL ON s_2003_12_$i TO nobody;";
pg_query($conn, $sql4);
pg_close($conn);
}
print "<a
href='seikagaku1.php'>1ヵ月分テーブル完成</a>";
?>
これを実行しますと、tableは「s_2003_12_1〜s_2003_12_31」が作成されます。しかしsequenceは「s_2003_12_」という中途半端なものが1つだけ作られました。本当はsequenceも「s_2003_12_1_ID〜s_2003_12_31_ID」ができてほしいのですが、どうしたらよいかわかりません。ご教示よろしくお願いいたします。




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