[pgsql-jp: 26947] Re: TABLEを削除できない場合がある

Yutaka tanida yutaka @ hi-net.zaq.ne.jp
2002年 8月 8日 (木) 13:43:23 JST


谷田です。

On Thu, 8 Aug 2002 13:28:37 +0900
Hiroshi.Shinozawa @ jp.yokogawa.com wrote:

> 篠沢@横河電機です。
> 
> postgreSQL 6.5.3を使用しています。
> 
> DROP TABLE hogehoge;
> 
> でテーブルを削除しましたが、
> 残骸が残っているようです。
> 
> CREATE TABLE hogehogeが
> できません。
> 
> どうも、Primary Keyを設定した場合にこうなるようで、
> Primary Key を設定しない場合は正常に削除できるようです。
> 
> インデックスのところをみましたが、残骸はないようです。
> 
> ご存知の方がおられましたら、アドバイスしていただきたく。

正確にエラーメッセージを出して頂けた方がアドバイスしやすいと思いますが。
たぶん残骸になる"hogehoge_pkey"インデックスを削除しないといけないとか、
そういうことで解決すると推察できますが・・・


Administrator=# create table a(i int primary key);
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index 'a_pkey' for table 'a'
CREATE
Administrator=# drop table a;
DROP
Administrator=# create table a(i int primary key);
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index 'a_pkey' for table 'a'
CREATE


関係ないようでよく似ている話ですが、serial型を使うと同じようなことが
7.2.1でも起こりますね。

Administrator=# create table a(i serial primary key);
NOTICE:  CREATE TABLE will create implicit sequence 'a_i_seq' for SERIAL column 'a.i'
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index 'a_pkey' for table 'a'
CREATE
Administrator=# drop table a;
DROP
Administrator=# create table a(i serial primary key);
NOTICE:  CREATE TABLE will create implicit sequence 'a_i_seq' for SERIAL column 'a.i'
NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index 'a_pkey' for table 'a'
ERROR:  Relation 'a_i_seq' already exists
Administrator=# 



-- 
Yutaka tanida <yutaka @ hi-net.zaq.ne.jp>




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