Database 创建数据库postgresql时出错
有没有办法检查PostgreSQL中是否已经存在数据库 我是PostgreSQL的新成员。Database 创建数据库postgresql时出错,database,postgresql,Database,Postgresql,有没有办法检查PostgreSQL中是否已经存在数据库 我是PostgreSQL的新成员。 还需要通过jdbc驱动程序从我的java应用程序中进行检查。PostgreSQL中的创建数据库没有选项(如果不存在)。看 您可以检查pg_数据库,查看数据库是否存在,只有在数据库不存在时才尝试创建它 由于Frank在评论中指出的限制,您需要通过: regress=> SELECT create_database_if_not_exists('test'); ERROR: CREATE DATABA
还需要通过jdbc驱动程序从我的java应用程序中进行检查。PostgreSQL中的
创建数据库没有选项(如果不存在)。看
您可以检查pg_数据库
,查看数据库是否存在,只有在数据库不存在时才尝试创建它
由于Frank在评论中指出的限制,您需要通过:
regress=> SELECT create_database_if_not_exists('test');
ERROR: CREATE DATABASE cannot be executed from a function or multi-command string
CONTEXT: SQL statement "CREATE DATABASE test"
PL/pgSQL function create_database_if_not_exists(text) line 6 at EXECUTE statement
PostgreSQL中的创建数据库
没有如果不存在
选项。看
您可以检查pg_数据库
,查看数据库是否存在,只有在数据库不存在时才尝试创建它
由于Frank在评论中指出的限制,您需要通过:
regress=> SELECT create_database_if_not_exists('test');
ERROR: CREATE DATABASE cannot be executed from a function or multi-command string
CONTEXT: SQL statement "CREATE DATABASE test"
PL/pgSQL function create_database_if_not_exists(text) line 6 at EXECUTE statement
我找到了解决这个问题的另一种方法。通过使用以下查询:
ResultSet res = st.executeQuery("select count(*) from pg_catalog.pg_database where datname = 'sample'") ;
res.next();
int count = res.getInt("count");
System.out.println("Count : " + count);
if(count == 0) {
st.executeUpdate("CREATE DATABASE sample");
}
它的工作很好我找到了这个问题的替代解决方案。通过使用以下查询:
ResultSet res = st.executeQuery("select count(*) from pg_catalog.pg_database where datname = 'sample'") ;
res.next();
int count = res.getInt("count");
System.out.println("Count : " + count);
if(count == 0) {
st.executeUpdate("CREATE DATABASE sample");
}
它的工作很好前提是您没有太多用postgreSQL制作的数据库
以下是查看您有哪些数据库和没有哪些数据库的简单方法
可以使用pgadmin,并展开数据库列,查看您有哪些数据库和没有哪些数据库
如黄色框所示,我在pgadmin中创建的数据库可以尝试此操作,前提是您没有太多用postgreSQL创建的数据库
以下是查看您有哪些数据库和没有哪些数据库的简单方法
可以使用pgadmin,并展开数据库列,查看您有哪些数据库和没有哪些数据库
如黄色框所示,我在pgadmin中创建的数据库可以尝试这一点这是我在9.1上得到的:“创建数据库不能从函数或多命令字符串执行”@FrankHeikens教我不要测试所有案例;我用一个现有的数据库检查了函数语法,但实际上没有创建一个。这是我在9.1上得到的:“创建数据库不能从函数或多命令字符串执行”@FrankHeikens教我不要测试所有的情况;我用一个现有的数据库检查了函数语法,但实际上没有创建一个。