2016-10-11 55 views
0

有什么办法如何使用JDBC将所有数据库名称从postgres数据库中取出?我可以得到当前的一个,但那不是我正在寻找...通过JDBC获取所有数据库名称

我有一个jUnit规则,它为每个测试创建数据库,并在测试后,它将其删除,但在一些特殊情况下,当JVM死亡,下降从未发生。所以我想检查一下规则还有现有的数据库并清理一些不再使用的规则。我正在寻找的是一些\ l metacommand(但我不能轻易ssh从单元测试的机器...)

什么也将是我的解决方案将是一些数据库TTL,就像一些amqp队列有,但我想没有Postgres的多数民众赞成要么...

感谢

回答

2

只要运行:

select datname 
from pg_database 

通过JDBC。它会返回连接到的服务器上的所有数据库。


如果你知道如何通过psql元命令得到你想要的信息(例如\l)只是运行psql-E开关 - 然后为元命令所有内部SQL查询打印到控制台。

-l实际使用的查询是更复杂一点,但只有名字,上面是足够

+0

废话,我不知道这个全局编录。将尝试明天,但根据文档,这看起来像我所需要的。 – malejpavouk

相关问题