检查 table 是否存在于 informix 和 postgresql 数据库中

Check if table exists in informix and postgresql database

我想在创建新的之前检查 table 是否存在。我正在使用以下方法:

DatabaseMetaData dbmd = con.getMetaData();
ResultSet rs = dbmd.getTables(null, null, getTableNamePattern(), null);
if (rs != null) {
    if (rs.next()) {
        return true;
    }
}

它在 oracle、sqlserver 和 mysql 等数据库上运行良好。但是,它不适用于 informix 和 postgresql。有人有好的建议吗?谢谢

我刚刚在 PostgreSQL 上试了一下,效果很好。

问题可能出在您的搜索模式中。请记住以下几点:

  • _用作单个字母的通配符,%用作任意字符串的通配符。

  • 模式区分大小写,table名称在 PostgreSQL 中默认为小写。