Java连接postgreSQL数据库,找不到表。

postgreSQL数据库遵守SQL标准,表名库名不区分大小写。

数据库中是存在 gongan_address_ALL的表的,但是执行下列代码就会出错。

1                  stmt = c.createStatement();
2                  String sql = "SELECT * FROM gongan_address_ALL ";
3                  ResultSet rs = stmt.executeQuery( sql );

报错为org.postgresql.util.PSQLException: ERROR: relation "gongan_address_all" does not exist
这是由于表名被自动转成了小写,执行的是查找 gongan_address_all 表的操作,所以会找不到。

解决方法就是修改成:

                 stmt = c.createStatement();
                 String sql = "SELECT * FROM "gongan_address_ALL"";
                 ResultSet rs = stmt.executeQuery( sql );

双引号必须在表名前后不能是:

String sql = "SELECT * FROM gongan_address_"ALL"";

原文地址:https://www.cnblogs.com/LCharles/p/9789665.html