控制台访问Dokku的PostgreSQL插件?

时间:2014-05-28 10:48:42

标签: postgresql dokku

有没有办法让控制台访问Dokku PostgreSQL plugin?在Heroku上我做heroku pg:psql。这在Dokku环境中是否可行,如果是这样的话?

2 个答案:

答案 0 :(得分:2)

实际上有一种方法可以直接使用dokku-pg-plugin来完成此操作。

命令postgresql:restore <db> < dump_file.sql连接到指定的数据库,并使用提供的转储文件进行恢复。如果您只是省略转储文件部分(< dump_file.sql),则会打开psql控制台会话。

由于postgresql:restore <db>在语义上不是打开控制台会话的最佳方式,因此我打开了pull request来添加命令postgresql:console <db>

因此,在我的PR合并之前,为数据库打开psql控制台的选项是:

  • 使用psql -h 172.17.42.1 -p <port> -U root db手动执行此操作,<port>password取自dokku postgresql:info <db>的输出,
  • 使用语义错误的命令dokku postgresql:restore <db>
  • 使用添加命令postgresql:console <db>的插件的my forked and patched version

修改 dokku-pg-plugin的所有者已合并我的拉取请求。如果您正在使用此插件并且正在寻找使用它访问PostgreSQL控制台的方法,您可能希望将其更新到最新版本。完成后,您可以使用命令postgresql:console <db>打开指向数据库的psql会话。

答案 1 :(得分:1)

这适用于我在Dokku上运行的Rails应用程序:

dokku run <app-name> rails db

这为我创建的PostgreSQL容器(通过dokku postgresql:create <db>)启动了控制台。我无法找到另一种方法来获取该容器中的PostgreSQL实例,而不是尝试直接连接到数据库,而是执行此操作时列出的连接信息/凭证:

dokku postgresql:info <db>

我没有尝试过,虽然我怀疑它会起作用。