4.6 KiB
4.6 KiB
Navicat 连接 Supabase PostgreSQL 解决方案
🔍 错误说明
错误信息: tenant or user not found
原因: Supabase的PostgreSQL连接需要特定的连接参数和认证方式,与普通PostgreSQL略有不同。
🛠️ 解决方案
步骤1: 获取正确的连接信息
- 登录 Supabase Dashboard
- 选择您的项目
- 点击左侧菜单
Settings>Database - 在
Connection info部分找到连接信息
步骤2: Navicat连接配置
基本连接设置
| 字段 | 值 | 示例 |
|---|---|---|
| 连接名 | 自定义名称 | My Supabase DB |
| 主机 | Supabase提供的Host | db.xxxxxxxxxxxxx.supabase.co |
| 端口 | 5432 |
5432 |
| 数据库 | postgres |
postgres |
| 用户名 | postgres |
postgres |
| 密码 | 创建项目时设置的密码 | your_database_password |
重要配置细节
-
主机地址格式:
db.[项目引用ID].supabase.co- ⚠️ 不要使用
https://前缀 - ⚠️ 确保是
db.开头,不是api.
- ⚠️ 不要使用
-
端口: 必须是
5432 -
数据库名: 必须是
postgres -
用户名: 必须是
postgres -
密码: 这是您创建Supabase项目时设置的数据库密码
- ⚠️ 不是Supabase账户密码
- ⚠️ 不是API Key
步骤3: SSL配置 (重要)
在Navicat的连接设置中:
- 点击
SSL选项卡 - 勾选
使用SSL - SSL模式选择:
require或prefer - 不需要配置证书文件
步骤4: 高级设置
在 高级 选项卡中:
- 连接超时: 设置为
30秒 - 服务器版本: 选择
PostgreSQL 15或更高版本
🔧 常见问题排查
问题1: 找不到项目引用ID
解决方案:
- 在Supabase Dashboard中
- 进入
Settings>General - 复制
Reference ID - 主机格式:
db.[Reference ID].supabase.co
问题2: 密码错误
解决方案:
- 确认使用的是数据库密码,不是账户密码
- 如果忘记密码,在
Settings>Database中重置 - 重置后等待几分钟再尝试连接
问题3: 网络连接问题
解决方案:
- 检查防火墙设置,确保允许5432端口
- 尝试使用VPN或更换网络环境
- 检查公司网络是否阻止外部数据库连接
问题4: SSL连接失败
解决方案:
- 确保启用SSL
- 如果SSL连接失败,尝试不同的SSL模式:
require(推荐)preferallow
📋 完整连接示例
示例1: 标准连接
连接名: Supabase Production
主机: db.abcdefghijklmnop.supabase.co
端口: 5432
数据库: postgres
用户名: postgres
密码: your_secure_password_123
SSL: 启用 (require)
示例2: 连接字符串格式
postgresql://postgres:your_password@db.abcdefghijklmnop.supabase.co:5432/postgres?sslmode=require
🔍 验证连接
连接成功后,您应该能看到以下数据库结构:
postgres (数据库)
├── auth (schema) - Supabase认证系统
├── public (schema) - 您的应用数据
│ ├── ak_contents
│ ├── ak_topics
│ ├── ak_comments
│ └── ... (其他表)
├── storage (schema) - Supabase存储系统
└── ... (其他系统schema)
🚀 连接成功后的操作
-
部署数据库结构:
- 在Navicat中打开SQL编辑器
- 粘贴
ai_multilingual_news_database.sql内容 - 执行SQL脚本
-
插入演示数据 (可选):
- 执行
topics_comments_init_data.sql
- 执行
-
验证部署:
-- 检查表是否创建成功 SELECT table_name FROM information_schema.tables WHERE table_schema = 'public' AND table_name LIKE 'ak_%';
💡 小贴士
- 保存连接信息: 成功连接后保存连接配置,避免重复输入
- 定期备份: 使用Navicat的备份功能定期备份数据
- 查询优化: 利用Navicat的查询构建器和执行计划功能
- 数据同步: 可以使用Navicat的数据同步功能在不同环境间同步数据
🆘 仍然无法连接?
如果按照以上步骤仍然无法连接,请检查:
- Supabase项目状态: 确保项目处于活跃状态
- 账户余额: 确保Supabase账户没有欠费
- 区域限制: 某些地区可能有网络限制
- 工具版本: 确保Navicat是最新版本
替代连接工具
如果Navicat仍有问题,可以尝试:
- pgAdmin 4 (免费)
- DBeaver (免费)
- DataGrip (JetBrains)
- Supabase Dashboard 内置SQL编辑器
更新时间: 2025年6月18日
适用版本: Supabase 所有版本
工具版本: Navicat 16+ 推荐