使用Navicat连接群晖的PostgreSQL数据库

使用Navicat连接群晖的PostgreSQL数据库
最新回答
蓝雨希

2024-02-21 21:31:52

使用Navicat连接群晖的PostgreSQL数据库的方法

一、创建数据库用户并授权

  1. 获取root权限并切换到postgres用户

    通过SSH连接到群晖,获取root权限。

    使用su - postgres命令切换到postgres用户。

  2. 进入psql交互命令行

    输入psql命令,进入PostgreSQL的交互命令行界面。

  3. 创建新用户并授权

    使用CREATE USER 用户名 PASSWORD '密码';命令创建新用户,并设置密码。

    使用以下命令授予用户所有权限:

    ALTER USER 用户名 WITH SUPERUSER CREATEDB;

    ALTER USER 用户名 WITH CREATEDB;

    ALTER USER 用户名 WITH CREATEROLE;

    ALTER USER 用户名 WITH REPLICATION;

    使用du命令查看用户列表,确认新用户已成功创建并授权。

  4. 退出psql和postgres用户

    在psql交互命令行中输入q命令退出。

    使用exit命令退出postgres用户,回到root用户下。

二、修改pg_hba.conf文件

  1. 编辑pg_hba.conf文件

    使用vi /etc/postgresql/pg_hba.conf命令打开pg_hba.conf文件。

    在文件中新增一行,内容为host all 用户名 127.0.0.1/0 md5,以允许新用户通过MD5加密方式从本地地址连接。

  2. 重新载入配置文件

    使用su -l postgres -c "exec /usr/bin/pg_ctl reload"命令重新载入PostgreSQL的配置文件。

三、修改群晖sshd配置

  1. 编辑sshd_config文件

    使用vi /etc/ssh/sshd_config命令打开sshd_config文件。

    找到AllowTcpForwarding no,将其改为AllowTcpForwarding yes。

  2. 重启sshd服务

    通过DSM控制台的“控制面板——终端机和SNMP——终端机”页面,取消勾选并重新勾选“启动SSH功能”,以重启sshd服务。

四、使用Navicat连接数据库

  1. 新建PostgreSQL连接

    在Navicat中,选择“新建”——“PostgreSQL”。

    设置连接名、主机(填写127.0.0.1)、端口(填写PostgreSQL监听的端口5432)、初始数据库(填写postgres)。

    输入前面新建数据库用户的用户名和密码。

  2. 配置SSH通道

    在连接的“SSH”页面中,选择使用SSH通道。

    输入群晖的SSH连接信息,包括IP、用户名和密码。

  3. 测试连接

    点击“测试连接”按钮,确认连接成功。

五、macOS用户注意事项

  • 如果Navicat自带的SSH通道兼容性有问题,可以在本地使用SSH隧道进行端口转发。
  • 使用ssh -L 5432:127.0.0.1:5432 root@群晖IP -p 22命令建立SSH隧道。
  • 在Navicat连接时,端口填写为本地监听的端口(如5432)。

六、删除用户并回收权限

  • 如果需要删除用户并回收权限,只需删除pg_hba.conf文件中新增的行。
  • 进入psql交互命令中,使用drop user 用户名;命令删除用户。