【问题标题】:Connecting Gitlab database with Pgadmin使用 Pgadmin 连接 Gitlab 数据库
【发布时间】:2017-07-13 07:06:58
【问题描述】:

如何将我的 Gitlab 数据库(使用 postgresql)连接到 Pgadmin ?我可以使用 >> sudo gitlab-rails db 从终端访问数据库。终端上的 \l 命令将 gitlab 显示为所有者,以及将 gitlab-rails 作为所有者的其他几个数据库。我是处理数据库的新手,我正在尝试使用 mysqlworkbench 将 mysql 中的表从另一台服务器上的 gitlab 手动复制到我服务器上的 gitlab。

【问题讨论】:

  • 请正确标记。 MySQL 和 Postgres 不是一回事。
  • 是的,正如我提到的,我正在尝试手动从 mysql 复制表,因此对其进行了标记。想知道这是否可能
  • 这可以通过像 PHP 这样的语言来完成 - 从 MySQL 读取并插入到 postgres。由于命令和语法差异,使用转储可能不起作用。
  • 为什么要手动执行此操作?有一个自动程序。
  • 你能告诉我怎么做吗?@secustor。我只有一个 mysql gitlabhq_production

标签: postgresql gitlab psql pgadmin


【解决方案1】:

手册

您可以使用 MySQL 到 Postgresql 导出器。 Gitlab 本身也使用该工具来处理这两种类型之间的数据库迁移。

https://github.com/gitlabhq/mysql-postgresql-converter

自动

查看官方迁移指南: https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/update/mysql_to_postgresql.md

【讨论】:

  • 感谢您的回答。但那是如果我可以访问其他计算机的 gitlab 数据库。我只是有一个转储,而且 mysql 和 psql 表在不同版本的 gitlab 中是不一样的。所以手动操作是唯一的选择。
【解决方案2】:

如果您使用 Omnibus Docker Image 并且希望通过 TCP 访问 PostgreSQL 数据库,请执行以下操作。

gitlab.rb中更改这些行:


postgresql['listen_address'] = '*'
postgresql['port'] = 5432

以 CIDR 表示法输入您的 IP 范围,如果您不关心安全性,请使用此 ['0.0.0.0/0']
示例:['192.168.0.0/16', '127.0.0.1/24']

postgresql['md5_auth_cidr_addresses'] = []

然后在 docker 容器内打开一个 bash 实例,并用

生成一个哈希

gitlab-ctl pg-password-md5 gitlab

postgresql['sql_user_password'] = 'Replace_with_generated_hash'

现在您可以公开端口 5432 并与例如 pgAdmin、用户 gitlab 和您配置的密码进行连接。

【讨论】:

    猜你喜欢
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-09
    • 2020-04-22
    • 2020-12-06
    相关资源
    最近更新 更多