Navicat 使用笔记
零、写在前面
1、环境
MacOS:v10.14
Navicat:15.0.4 - premium
2、官网文档
(英文):
https://www.navicat.com/manual/online_manual_new/en/navicat/mac_manual/
一、为什么用 Navicat?
首先说下 Postgres GUI 工具的竞品:
Postico
- 最早 PG 官网推荐使用的,但是功能比较简洁,我用过,但在我的 mac 上打开一会就特别卡,原因未知。DataGrip
- JetBrains 系列的产品都是占内存大户,早期我的 js 编辑器还是 webstorm,卡的不行换成了 vscode,所以这个我干脆没试。虽然网上对这个推崇有加,有专业范,适合程序开发者。pgAdmin
- 早期我用 mysql 的时候就用过类似的 phpMyAdmin,我个人很不喜欢这种 web 的形式,感觉很卡慢。所以这个我也没考虑。
最终选 navicat 也是因为我之前用 mysql 的时候,就一直用的 navicat,习惯了,而且我的是 Navicat Premium
,功能是非常强大的。
二、功能
1、Operate
(1)最近打开的页面
Open Recent -> ...
有时候经常在多个表、数据库之间切换,还涉及查看数据 or 查看定义 等,这个功能可以快速的回到最近查看过的页面。
(2)添加常用操作
Favorites -> ...
2、Connection
(1)创建连接
navicat 支持很多数据库连接。(甚至 mongodb 也支持)
不过 mongodb 我还是不习惯用 navicat。
(2)防止长时间不操作导致连接断开
Edit Connection -> Advanced -> Keepalive interval (sec)
:一般设置 60s 就够了。
(3)云同步/备份
需登录个人帐号
3、Table
(1)创建表
分为:
- Normal - 普通表
- Foreign - 外部表,即 fdw 的内容(略)
- Partitioned - 分区表(略)
(2)Maintain
支持:
- Analyze Table
- Reindex Table
- Vacuum Table
4、数据类型
这边设计到 表的(Type 字段)定义 和 数据展示。
(1)布尔类型
1、表的定义:注意不是 boolean 而是 bool。
2、数据展示:true 显示为 t,fasle 显示为 f。
(2)numeric 类型
1、表的定义:numeric 的 精度和标度 ,分别对应在 length 和 decimals 上。
(3)字符串类型
1、表的定义:因 varchar、text 是变长的,即不限制长度,所以 length = 0 。
(4)数组类型
1、表的定义:
Type
是数组元素的类型。
Dimensio
是数组的维度。
2、数据展示:用 {}
包起来的,例如 {1,3,5}
(5)复合类型
例如我们新建了一个 "person" 复合类型:
CREATE TYPE "person" AS (
name text,
age integer,
sex boolean
);
1、表的定义:
Object Type
2、数据展示:用 ()
包起来的,为 ("张三",29,t)
5、Query
(1)Query Builder
界面化操作帮你构建 sql 语句。(不是很好用,感觉还不如手写)
(2)格式化
Beautify SQL / Minify SQL ,效果不是很好,凑活可以用。
(3)Code Snippet
保存你常用的代码片段。
6、Result
这边的 result ,指的是 query 的结果,或者 view table 的结果,等。
(1)数据导入导出
Import / Export Result ,支持很多格式,我自己常用 csv/xlsx 格式。
窗口上,点击 Save Profile
,可以保存设置下次再用。
(2)数据编辑
在原来的单元格查看/编辑困难,可以打开 editor
:
7、数据迁移(SQL 格式)
(1)导出 数据 / 结构 为 SQL
(2)导入/执行 SQL
8、Tools
(1)数据传输
tools -> data transfer
支持对象:
- Table
- View
- Function
- Sequence
- Type
支持操作:
- 是覆盖还是新建
(2)数据同步
tools => data Synchronization
支持对象:
- Table
- View
- Function
- Sequence
- Type
支持操作:
- insert
- udpate
- delete
(3)结构同步
tools -> Structure Synchronization
支持对象:
- Table
- View
- Function
- Sequence
- Type
支持操作:
- insert
- udpate
- delete
(4)在 数据 / 结构 中查找
tools -> Find in Database/Schema
(5)监控
tools -> Server Monitor -> ...
,...
可以选数据库产品,如 postgreSQL。
支持 进程/参数/状态 的查看:
(6)控制台
tools -> console
打开 psql 命令行窗口。
9、role & 权限
(1)设置权限
对象右键的 Set Privileges
具体待写。
10、Model
new model
,支持用画 ER 图的方式建表
Reverse Tables to Model
,支持从表反推出画好的 ER 图
11、Charts
这块的功能其实属于 Business Intelligence (BI) 商业智能
的范畴。
BI 最常用的即 dashboards + visualization。这块最知名的竞品是
Tableau
。
功能分(依次递进):
- New
Data Source
- New
Chart
- New
Dashboard
12、Backup
(1)备份数据库
New Backup
可以备份数据库,支持对象:
- Table
- View
- Function
- Sequence
- Type
可选参数:Lock all tables
(2)恢复备份
Restore Backup
(3)导出备份为 SQL 文件
Extract SQL
13、Automation
支持设置 (定时轮询)任务,来完成:
- backup
- import / export
- 等(具体看下图)
advanced 里还支持发送邮件的 hook。
注意:如果想要要定时轮询的机制生效,需要:
我设置了,但不成功。原因未知。