[英]POSTGRESQL JDBC Error Unable to recreate exception from backed error: java.io.IOException: JDBC Error
[英]PostgreSQL JDBC - can drop but not recreate indexes
我一直在寻找答案,但到目前为止没有运气...
我想对可能包含数百万条记录的数据库执行批量操作,请阅读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中执行此查询,尽管它成功创建了索引,所以我有点困惑...
任何帮助,见解,建议等,将不胜感激:)在此先感谢。
无法像Michal Niklas一样对答案发表评论,但是您的sql语句在postgres中是非法的,无法正常工作。 我猜:
CREATE UNIQUE INDEX type_uk ON cell (field1, field2, field3, field4) TABLESPACE lcindex
where field3 is not null and field4 is not null;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.