5

有没有办法让控制台访问DokkuPostgreSQL 插件?在 Heroku 我会做heroku pg:psql。这在 Dokku 环境中是否可能,如果可以,如何?

4

2 回答 2

4

事实上,有一种方法可以直接使用dokku-pg-plugin.

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

由于postgresql:restore <db>在语义上不是打开控制台会话的最佳方式,我打开了一个拉取请求来添加命令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>,它添加了命令。

编辑: 所有者dokku-pg-plugin已合并我的拉取请求。如果您正在使用此插件并正在寻找一种方法来使用它访问您的 PostgreSQL 控制台,您可能需要将其更新到最新版本。完成此操作后,您可以使用该命令postgresql:console <db>打开psql与指定数据库的会话。

于 2014-08-16T10:41:52.677 回答
1

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

dokku run <app-name> rails db

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

dokku postgresql:info <db>

我没有尝试过,尽管我怀疑它会起作用。

于 2014-06-22T14:31:46.093 回答