HarborDB 中的数据库导航
欢迎阅读数据库导航指南!HarborDB 提供了强大的工具来探索和理解您的 PostgreSQL 数据库。本指南将向您展示如何有效浏览数据库结构、检查表和关系,并充分利用 HarborDB 的可视化界面。
导航界面
侧边栏概览
左侧边栏是您的主要导航工具。它以层次结构展示您的数据库结构:
Connection Name
├── Databases
│ ├── Database 1
│ │ ├── Schemas
│ │ │ ├── public
│ │ │ │ ├── Tables
│ │ │ │ ├── Views
│ │ │ │ ├── Functions
│ │ │ │ └── Sequences
│ │ │ └── other_schemas
│ │ └── Settings
│ └── Database 2
└── System Objects
导航模式
HarborDB 提供两种主要的导航模式:
- 树状视图(默认):对象的层次展开
- 搜索视图:在所有对象中快速搜索
探索数据库
查看可用数据库
首次连接时,您将看到您可以访问的数据库列表:
- 在侧边栏中展开您的连接
- 点击"数据库"查看列表
- 双击任意数据库以探索其内容
数据库信息
右键单击任何数据库以快速访问:
- 属性:查看数据库大小、编码、排序规则
- 新建查询标签页:打开预连接到此数据库的查询编辑器
- 刷新:更新数据库列表
- 创建数据库:如果您有权限
使用模式(Schemas)
理解模式
模式是数据库内的逻辑容器。PostgreSQL 默认使用 public 模式,但您可能会遇到其他模式。
探索模式内容
- 展开一个数据库以查看其模式
- 展开一个模式以查看对象类型:
- 表:数据存储
- 视图:来自查询的虚拟表
- 函数:存储过程和函数
- 序列:自增数字生成器
模式操作
右键单击一个模式以:
- 创建新表/视图/函数
- 刷新模式内容
- 设为默认:将此设为您首选的模式
检查表
表结构视图
当您展开"表"文件夹时,您将看到模式中的所有表。点击任何表以查看:
列标签页
- 列名和数据类型
- 约束(主键、外键等)
- 默认值和可为空状态
- 存储信息
数据预览标签页
- 表数据的前100行
- 可排序的列(点击标题)
- 可筛选的数据(右键单击列标题)
- 快速导出选项
索引标签页
- 索引名称和类型
- 索引列
- 索引大小和统计信息
外键标签页
- 与其他表的关系
- 引用的表和列
- 级联规则
表快速操作
右键单击任何表以即时访问:
| 操作 | 描述 | 键盘快捷键 |
| ------------------- | ----------------------------------------------- | ----------------- |
| 选择前100行 | 使用 SELECT * FROM table LIMIT 100 打开查询 | ⌘ + 点击 |
| 查看结构 | 在详细视图中打开表结构 | ⌥ + 点击 |
| 生成 SELECT | 为此表创建基本的 SELECT 查询 | |
| 生成 INSERT | 创建 INSERT 模板 | |
| 导出数据 | 将表导出为 CSV/JSON | ⌘ + E |
| 刷新 | 更新表信息 | ⌘ + R |
理解视图
视图与表的区别
视图与表类似,但它是基于 SQL 查询的虚拟对象:
- 常规视图:存储的查询定义
- 物化视图:预先计算的结果(缓存)
视图信息
点击任何视图以查看:
- 定义:定义视图的 SQL 查询
- 列:结果集结构
- 依赖项:此视图所依赖的表和视图
处理大型数据库
筛选和搜索
当处理许多对象时,使用以下功能:
快速筛选
- 点击侧边栏顶部的搜索框
- 键入对象名称以实时筛选
- 使用通配符:
*users*查找名称中包含"users"的所有对象
高级搜索
- 范围搜索:限制为表、视图或所有对象
- 区分大小写切换:匹配确切的大小写
- 正则表达式支持:使用正则表达式进行复杂模式匹配
收藏对象
标记经常访问的对象以便快速检索:
- 右键单击任何对象
- 选择"添加到收藏夹"
- 从收藏夹侧边栏部分访问收藏夹
检查关系
可视化表关系
HarborDB 帮助您了解表之间的连接方式:
外键可视化
- 右键单击任何带有外键的表
- 选择"显示关系"
- 查看连接的图形表示
依赖关系分析
- 查看此表依赖什么
- 识别循环引用
- 了解模式更改的影响
关系浏览器
对于复杂的数据库,使用关系浏览器:
- 打开工具菜单 → 关系浏览器
- 选择起始表
- 可视化地探索连接
- 导出关系图用于文档
实际导航示例
示例 1:探索新数据库
连接到不熟悉的数据库时:
- 检查数据库大小(右键单击数据库 → 属性)
- 列出所有模式并识别主要模式
- 查看每个模式中的表计数
- 检查最大的表(按行数或大小排序)
- 查找文档表(通常命名为:docs、documentation、readme)
示例 2:查找特定数据
需要查找客户信息时:
- 搜索包含"customer"、"user"或"client"的表
- 检查可能的表以查找相关列
- 检查外键以查找相关数据
- 使用数据预览以抽样实际数据
示例 3:理解应用程序结构
要了解应用程序如何组织数据:
- 按前缀分组表(例如
app_、auth_、report_) - 检查命名约定
- 查找外键模式
- 识别查找/参考表
导航键盘快捷键
掌握这些快捷键以提高导航效率:
| 快捷键 | 动作 |
| ----------- | ------------------------------- |
| ⌘ + B | 切换侧边栏可见性 |
| ⌘ + F | 聚焦侧边栏搜索 |
| ⌘ + G | 在搜索结果中查找下一个 |
| ⌥ + 点击 | 在新标签页中打开对象 |
| ⌘ + 点击 | 为表打开 SELECT 查询 |
| ⌘ + R | 刷新当前视图 |
| ⌘ + . | 清除搜索/筛选 |
| ⌘ + 1-9 | 在侧边栏部分之间切换 |
导航最佳实践
组织技巧
- 使用有意义的连接名称:包含环境(开发、生产)和目的
- 分组相关连接:本地开发、预发布、生产
- 按环境进行颜色编码:开发用绿色,预发布用黄色,生产用红色
- 创建连接模板:用于类似的数据库设置
性能考虑
- 限制自动展开:不要一次性展开所有内容
- 对于大型数据库,使用搜索而不是浏览
- 关闭未使用的连接以释放资源
- 定期清除缓存以处理非常大的模式
安全实践
- 尽可能使用特定连接的凭据
- 使用适当的权限限制模式可见性
- 避免在不太安全的环境中保存生产密码
- 定期审计连接使用情况
故障排除导航问题
"对象未找到"错误
如果看不到预期的对象:
- 刷新连接(右键单击 → 刷新)
- 检查您对数据库的权限
- 验证您是否在正确的模式中
- 确认对象未被重命名或删除
导航性能缓慢
对于响应迟缓的情况:
- 减少首选项中的自动展开深度
- 禁用大型表的缩略图预览
- 为远程连接增加查询超时
- 使用搜索而不是树状展开
缺少关系
如果外键没有显示:
- 检查外键是否在 PostgreSQL 中正确定义
- 验证您是否有查看约束信息的权限
- 刷新表元数据
- 检查延迟约束检查
高级导航功能
探索的自定义查询
为复杂探索创建保存的查询:
-- 查找具有特定列的所有表
SELECT
table_schema,
table_name,
column_name,
data_type
FROM information_schema.columns
WHERE column_name ILIKE '%email%'
ORDER BY table_schema, table_name;
-- 列出最大的表
SELECT
schemaname,
tablename,
pg_size_pretty(pg_total_relation_size(schemaname || '.' || tablename)) as size
FROM pg_tables
WHERE schemaname NOT IN ('pg_catalog', 'information_schema')
ORDER BY pg_total_relation_size(schemaname || '.' || tablename) DESC
LIMIT 20;
收藏常用路径
保存经常访问的导航路径:
- 导航到您的目标对象
- 点击工具栏中的收藏按钮
- 命名收藏夹(例如,"客户分析表")
- 从收藏夹菜单访问收藏夹
导出数据库结构
记录您的数据库结构:
- 在侧边栏中选择对象
- 右键单击 → 导出结构
- 选择格式:SQL、Markdown 或 HTML
- 包含选项:包含数据、约束、索引
后续步骤
现在您可以有效地浏览数据库:
获取帮助
如果您遇到导航问题: