Thread: Indexes
I'm trying to perform a massive load on a postgreSQL database from ODBC, but I've found that if the table contains a 'PRIMARY KEY' constraint, the sql-insert sentences from my program fail. I've also noticed that after creating the table, the ODBC driver (unixODBC) warnings me this way: NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index for table so I think if I could `deactivate' the index before doing the massive load it could possibly work, but I can't find the way of deactivating indexes looking at the documentation. Can this be done? If not, any idea about another suitable solution? Creating the PRIMARY KEY constraint after the massive load won't work, because postgreSQL 7.1.3 doesn't implement the ALTER TABLE ... ADD CONSTRAINT sentence with this kind of constraint. Thank you very much in advance. Laura Castro
Laura Castro wrote: > > I'm trying to perform a massive load on a postgreSQL database > from ODBC, but I've found that if the table contains a 'PRIMARY > KEY' constraint, the sql-insert sentences from my program fail. > I've also noticed that after creating the table, the ODBC driver > (unixODBC) warnings me this way: > > NOTICE: CREATE TABLE/PRIMARY KEY will create implicit index for table > > so I think if I could `deactivate' the index before doing the massive > load it could possibly work, but I can't find the way of deactivating > indexes looking at the documentation. Can this be done? Unfortunately no. > If not, any idea > about another suitable solution? You can drop the index before doing the massive load and can create a unique index with the same name after it. The only difference is that pg_index.inidisprimary is set to true or not. regards, Hiroshi Inoue http://w2422.nsk.ne.jp/~inoue/