讲师中心 微信公众号
AI工具推荐 视频效率加速

如何用Navicat逆向生成PostgreSQL ER图

星辰大大_6251

星辰大大_6251

发布时间:2026-08-16 07:39:20

|

1016人浏览过

|

来源于php中文网

原创

Navicat连不上PostgreSQL需依次排查:postgresql.conf中listen_addresses是否配置正确、pg_hba.conf是否添加对应host/user认证规则、用户名密码是否大小写精确匹配、Docker环境端口映射及配置重载是否完成。

Navicat 连不上 PostgreSQL 怎么办

逆向生成 er 图的前提是 navicat 能稳定连接目标数据库。常见连不上是因为 pg_hba.conf 没放行、密码认证方式不匹配,或 postgresql 服务没监听外部地址。

检查点列在下面,挨个确认:

  • PostgreSQL 的 postgresql.conf 中 listen_addresses 至少包含 'localhost' 或 '*'(开发环境可临时设为 '*')
  • pg_hba.conf 加了对应用户和 host 的条目,例如:host all all 127.0.0.1/32 md5
  • Navicat 新建连接时,Username 和 Password 必须与 PostgreSQL 中的 CREATE USER 完全一致(区分大小写)
  • 如果用的是 Docker 启动的 PostgreSQL,确认端口映射正确(默认 5432),且容器内 pg_hba.conf 已重载(pg_ctl reload 或重启容器)

逆向工程选“当前数据库”还是“指定模式”

Navicat 的逆向生成入口在「工具 → ER 图表 → 逆向工程」,但选错范围会导致表漏掉或报错。

PostgreSQL 默认 schema 是 public,但如果你的表分布在多个 schema(比如 auth、billing),必须手动勾选——Navicat 不会自动扫描所有 schema。

Crawl4ai Docker Skill
Crawl4ai Docker Skill

Docker化网页爬虫服务,支持REST API,可进行网页爬取与抓取,智能内容提取(基于 L...)

下载
  • 勾选「当前数据库」只生成当前连接默认 schema(通常是 public)下的表
  • 要包含其他 schema,必须点开「高级」→「Schema」→ 勾选具体 schema 名(如 auth、app),否则外键关系可能断裂(比如 auth.users 引用 public.roles,但 public 没被选中,就画不出连线)
  • 如果勾了多个 schema 但权限不足(用户没 USAGE on schema),逆向会卡住或报错 permission denied for schema xxx,此时需先用 superuser 账号授权:GRANT USAGE ON SCHEMA xxx TO your_user;

ER 图里 foreign key 线没显示?检查约束类型

Navicat 只识别标准的 PostgreSQL 外键约束(FOREIGN KEY ... REFERENCES),对函数索引、部分索引、或用触发器模拟的逻辑关联无感知。

  • 运行 \d+ table_name 在 psql 里确认外键是否真实存在,输出中要有 Foreign-key constraints: 行
  • 如果外键是用 ON DELETE CASCADE 或带条件定义的,Navicat 仍能识别,但不会显示删除行为图标;它只画线,不标注动作
  • 若表有外键但图里没线,大概率是该外键引用的表没被包含进逆向范围(比如引用了 other_db.other_table,跨库不支持)
  • Navicat 对复合外键支持正常,但字段顺序必须完全一致;顺序错位(如 (a,b) 引用 (b,a))会被忽略

导出图片模糊或字体发虚怎么办

Navicat 默认导出 PNG 分辨率低,尤其含中文时容易糊,这不是渲染 bug,而是导出设置问题。

  • 导出前,在 ER 图界面右键 →「图表属性」→ 把 Zoom 调高(比如 200%),再导出 PNG,清晰度明显提升
  • 导出 PDF 更可靠:PDF 是矢量格式,缩放不失真,且保留字体(前提是系统已安装对应中文字体,如 Noto Sans CJK)
  • 如果图太大导致导出卡死,先「布局 → 自动布局」整理节点位置,再隐藏不关键的表(右键表 →「隐藏」),减少渲染压力
  • 注意:Navicat Mac 版对 Retina 屏导出 PNG 有已知缩放 bug,建议优先用 PDF 或改用 Windows 版导出

PostgreSQL 的 schema 隔离比 MySQL 严格得多,逆向时漏选一个 schema,外键就断一半;而 Navicat 不报错也不提醒,只默默不画线——这是最常被忽略的环节。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

相关专题

更多
postgresql常用命令
postgresql常用命令

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、l、c、dt、d table_name、du、i file_name、e和q等。本专题为大家提供postgresql相关的文章、下载、课程内容,供大家免费下载体验。

233

2023.10.10

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4529

2023.11.02

postgresql常用命令有哪些
postgresql常用命令有哪些

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、l、c、dt、d table_name、du、i file_name、e和q等。更详细的postgresql常用命令,大家可以访问下面的文章。

647

2023.11.16

postgresql常用命令介绍
postgresql常用命令介绍

postgresql常用命令有l、d、d5、di、ds、dv、df、dn、db、dg、dp、c、pset、show search_path、ALTER TABLE、INSERT INTO、UPDATE、DELETE FROM、SELECT等。想了解更多postgresql的相关内容,可以阅读本专题下面的文章。

1396

2023.11.20

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

460

2026.02.12

PostgreSQL 性能优化与查询执行计划实战
PostgreSQL 性能优化与查询执行计划实战

本专题深入解析PostgreSQL性能优化核心,聚焦查询执行计划的实战应用。通过EXPLAIN命令精准定位瓶颈,结合索引策略、SQL改写与参数调优,系统提升查询效率。从执行计划解读到性能调优全流程,助你掌握数据库性能诊断与优化实战能力。

150

2026.05.08

PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践
PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践

本文详解如何利用Next.js(搭配Drizzle ORM)与Go后端构建高性能应用,充分发挥PG在JSONB非结构化存储与pgvector向量检索上的优势。从数据建模到Docker容器化部署,打造支持AI时代的“One Database”工程化解决方案。

901

2026.05.08

PostgreSQL高级特性、内核机制与现代数据架构
PostgreSQL高级特性、内核机制与现代数据架构

本专题从MVCC并发控制与WAL日志等内核机制出发,详解JSONB、PostGIS及pgvector等高级特性。探讨如何利用单一引擎支撑关系型、向量及图数据等现代数据架构需求,助您掌握构建高并发、智能化应用的核心技术。

244

2026.05.08

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

60

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

Docker 官方文档
Docker 官方文档

共0课时 | 0人学习

宝塔 Docker 模块使用手册
宝塔 Docker 模块使用手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn