[pgsql-jp: 30158] テーブルの2重登録について
TFL)久村 孝之
hisamura.takayuki @ tfl.fujitsu.com
2003年 6月 9日 (月) 15:48:08 JST
こんにちは。久村と申します。
データベースにテーブルが2重に登録されるという現象が発生してい
ます。
環境は次の通りです。
OS :Linux 2.2.19-6.2.16
PostgreSQL:7.2.1
操作は、コマンド「psql testdb < create_tbl.sql」を2回実行です。
create_tbl.sqlの内容
CREATE TABLE T_TEST_TABLE (
PKey varchar,
Dummy int,
RegiDate timestamp DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (PKey)
);
既存のDBにテーブルを追加しています。
1回目の実行後リブートし、その後2回目を実行です。
作成されたテーブルの状態を確認すると次のようになっています。
testdb=# ¥d
List of relations
Name | Type | Owner
---------------------+-------+-------
t_test_table | table | root
t_test_table | table | root
(2 rows)
testdb=# ¥d t_test_table
Table ”t_test_table”
Column | Type | Modifiers
------------+--------------------------+-------------------------------
pkey | character varying | not null
pkey | character varying | not null
dummy | integer |
dummy | integer |
regidate | timestamp with time zone | default (’now’
::text)::timestamp(6) with time zone
regidate | timestamp with time zone | default (’now’
::text)::timestamp(6) with time zone
Primary key: t_test_table_pkey,
t_test_table_pkey
↑ 見づらくてごめんなさい
この状態となってから、さらに同一のテーブルを追加しようと
しましたが、
「Relation ’t_test_table’ already exists」となり、通常通り
の動作をしています。
テーブルを削除しようとすると、
「Cannot insert a duplicate key into unique index
pg_class_relname_index」となり、制御情報との整合性が取
れなくなっているような動作です。
恐らく1回目の実行で何かが発生したものと思われますが、他
社にてバッチで作業してもらったため、実行時のメッセージな
どは取得できていません。PostgreSQLのログも出力しない設定
でした。
こちらでも、再現できない状態です。
現象が発生したディスクのコピーは保持しています。
結果の情報しかなく恐縮ですが、どなたかこのような現象が発
生する要因をご存知でしたら、お教えください。
よろしくお願いいたします。
以上
---------------------------------------------------------------------
久村 孝之
e-mail:hisamura.takayuki @ tfl.fujitsu.com
---------------------------------------------------------------------
pgsql-jp メーリングリストの案内