Skip to content

进入数据库调试

字数
572 字
阅读时间
3 分钟

以下内容都是高级功能,如果要用的话最好是有点基础。

如何直接连接数据库

以 Navicat 为例,假设你是用 docker compose 启动的数据库而不是使用自己的外部数据库

  1. 首先你需要知道数据库容器的内部 IP。首先使用 docker ps 看一下数据库容器的 ID,一般是 q2tg-postgres-1

    bash
    docker inspect q2tg-postgres-1 | grep IP
  2. 在 Navicat 中新建 PostgreSQL 连接。用户名密码的默认设置在 docker-compose.yaml 中,Host 填写上一步获取到的容器内部 IP

  3. 切换到 SSH 标签页,Host 填写运行 docker 的主机 IP,选择合适的登录方式

这时候你应该就可以连接到容器内部的数据库了。默认的数据库名称应该叫 db_name

数据库中可以手动修改的内容

绝大多数直接对数据库的修改应该都需要重启 Q2TG 容器后才能生效

修改工作模式

可以把工作模式直接在群组模式和个人模式间切换。如果是个人模式切换为群组模式,那原先那些私聊的转发可能工作不正常,因为这是未定义行为(群组模式并不支持私聊)

Instance 表中直接修改 workMode 即可

使用现成的 bot 再开一个实例

可以在使用 /newinstance 后,通过修改 userSessionIdqqBotId 字段。可以修改为现有的其他 bot 的 ID,ID 应该使用 Instance 表中其他已配置好的实例的 bot id

直接重启签名服务的功能

适用于使用 docker 部署签名服务的用户。很多时候用着用着签名服务就出问题。Q2TG 可以直接控制 docker 重启签名容器。这需要在 docker-compose.yaml 中包含

yaml
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

然后在 qqBot 表中对应的 bot 的 signDockerId 中填写 docker ps 查询到的容器的 name,一般是 q2tg-sign-1

然后因为签名服务器异常导致发送失败时,就会出现重启签名服务器的按钮

qqBot 表中也可以为每个号单独指定签名服务器和版本号