我一直在寻找一个答案,但至今没有运气...PostgreSQL的JDBC - 可以删除而不是重新创建索引
我想可能与数百万条记录的数据库进行批量操作,阅读PostgreSQL指南:'13.4填充数据库'1,它建议删除索引和外键约束以加快复制操作。
我试图用JDBC语句来实现这一点,我发现我可以放弃索引没有任何问题,但填充数据库后重新创建它们有问题。我得到“或接近”,我创建索引的语法错误名称:
Statement stmt = connection.createStatement();
String query = "CREATE UNIQUE INDEX type_uk ON cell (field1, field2, field3, field4) WHERE field3 AND field4 IS NOT NULL TABLESPACE lcindex";
stmt.executeUpdate(query);
connection.commit();
如果我在执行这个PSQL查询,它成功地创建索引的,所以我有点糊涂了。 ..
任何帮助,见解,建议等将不胜感激:) 在此先感谢。
我能够建立这样的指标(不TABLESPACE )使用来自Jython的JDBC。给我们更多的信息:是否可以创建简单的索引?你使用什么版本的JDBC和PostgreSQL? – 2010-07-29 10:16:54
我只试图删除和重新创建这些独特的索引,我会尝试删除一个简单的索引,并回到你身边...... 我使用JDBC 8.4-701与PostgreSQL 8.3.3。 – cg776 2010-07-30 01:40:08
postgresql服务器日志是否也显示错误,并使用与您要发送的SQL相同的SQL? (以防万一发生在SQL上的某种方式......) – araqnid 2010-12-07 15:20:19