![](/img/trans.png)
[英]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.