Ubuntu下PostgreSQL安装配置与Navicat连接指南

做后端开发或者数据相关工作的朋友,应该都经历过这么一幕:好不容易在 Ubuntu 上把 PostgreSQL 装好了,却发现命令行操作没问题,客户端工具却怎么都连不上;或者反过来,Navicat 装好了,连接时报一堆看不懂的错。我前后在几台机器上折腾过这套环境,踩过的坑不少,这篇就把 PostgreSQL 在 Ubuntu 下的安装配置,以及 Navicat 可视化客户端的搭建连接完整梳理一遍。内容覆盖从零开始的环境准备、数据库与账号初始化、远程连接权限设置,到 Navicat 安装和排障,适合刚接触 Linux 又想用图形界面管理数据库的同学,也适合本地开发、服务器部署时需要快速搭建数据库服务的从业者。

环境方面我以 Ubuntu 22.04 LTS 为主,Debian 系的多数操作也能基本通用。PostgreSQL 用 14/15/16 都行,安装方式略有差异,文中都会提到。Navicat 这边用的是 Linux 原生版本,不涉及虚拟机或者模拟层,整体体验流畅度比 Windows 上要轻一些。

1. 搭建前的选型思考与整体设计

1.1 为什么选择 PostgreSQL 搭配 Ubuntu

数据库选型是个老话题,但放在 Ubuntu 这个场景里有几个很现实的理由。PostgreSQL 在开源数据库里功能完整性一直处于第一梯队,事务、外键、复杂查询、窗口函数、JSON 处理、全文检索这些能力基本开箱即用,对业务模型的承载力明显强于把 JSON 当字符串存的轻量数据库。如果你有 GIS 相关的需求,PostGIS 扩展也是 PostgreSQL 生态里绕不开的存在,这在 Ubuntu 下用 apt 一条命令就能装上。

Ubuntu 作为服务器系统使用率很高,apt 源里自带 PostgreSQL 的稳定版本,安全补丁跟随系统更新,这对生产环境非常重要。不像源码编译安装那样需要自己维护版本和依赖,apt 方式省心得多。社区文档也足够丰富,遇到问题搜索一下基本都能找到答案,学习曲线相对平缓。

有些朋友会问为什么不用 MySQL。MySQL 在小规模读写场景下确实轻巧,但一旦涉及复杂查询优化、并发事务控制、数据完整性约束,PostgreSQL 的优势就会体现出来。而且 PostgreSQL 的许可证更宽松,没有双协议问题,对于内部工具和商业项目都很友好。

1.2 可视化客户端为什么选 Navicat

选择 Navicat 的理由,坦白讲就是它把"常用操作"这个体验做到了相当顺手的地步。表结构设计、数据编辑、查询编写、导入导出、数据同步、备份恢复,这些高频操作全都做成了图形界面,尤其是 ER 图展示和数据迁移功能,在需要快速理解现有库表关系时特别省时间。命令行 psql 虽然灵活强大,但日常排查数据、临时改几条记录、看表结构这种轻量操作,用图形界面明显效率更高。

Navicat 在 Linux 平台提供了原生版本,不同于很多人以为的"Linux 只能用命令行或者开源的 DBeaver"。它原生跑在 Linux 上,界面上和 Windows 版差异不大,快捷键、功能位置基本一致,跨平台切换成本很低。虽说它是商业软件需要授权,但官方有试用期,你完全可以在试用期内评估它是否适合自己。如果项目预算有限或偏好完全开源,DBeaver 也可以做备选,本文里重点还是讲 Navicat 的搭建。

1.3 安装方式的取舍:apt 还是 Docker

Ubuntu 上装 PostgreSQL 无非三条路:apt 直接装、Docker 跑容器、源码编译。我没有选择 Docker 是有原因的。虽然 Docker 方式隔离干净、卸载方便,但数据持久化如果没做好,容器删了数据就没了;而且容器内网络和宿主机端口映射也有额外配置成本。对于要长期跑业务、需要和操作系统文件系统深度配合的数据库服务,我更倾向于直接装在系统里。

apt 安装的另一个好处是和系统服务管理器衔接顺畅,systemd 直接管理 PostgreSQL 进程,开机自启、故障拉起、日志查看都用现成工具,不需要额外写脚本。源码编译灵活性最高,但意味着自己要处理编译依赖、动态库路径、启动脚本一堆问题,收益却不明显。综合下来,日常搭建和中小项目部署,我的结论很简单:apt 优先,Docker 仅在需要快速搭多套隔离测试环境时才考虑。

2. PostgreSQL 安装与初始化配置全流程

2.1 两种 apt 安装路径:系统源与官方源

Ubuntu 系统源里自带了 PostgreSQL,版本会随系统版本固定。以 22.04 为例,默认装的是 14;24.04 对应版本会更高。如果你对版本没有特殊要求,直接用:

sudo apt update sudo apt install postgresql postgresql-contrib

postgresql-contrib 这个包建议一并装上,里面有大量实用扩展,比如 adminpack、pg_stat_statements,后面排查性能问题时可能会用到。

如果你希望安装更新的版本,比如 16,那么走 PostgreSQL 官方提供的 apt 仓库会更合适,官方源会持续提供对应版本的更新和安全修复:

# 导入官方仓库密钥 sudo install -d /usr/share/postgresql-common/pgdg/apt sudo curl -o /usr/share/postgresql-common/pgdg/apt.asc https://www.postgresql.org/media/keys/ACCC4CF8.asc # 写入仓库配置 echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.asc] https://apt.postgresql.org/pub/repos/apt jammy-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list sudo apt update sudo apt install postgresql-16

装完以后 systemd 里会出现对应的服务名,比如 postgresql@16-main.service。官方源的包路径和系统源稍有不同,配置文件默认都在 /etc/postgresql/16/main/ 下,这点后面配置时要留意。

无论用哪种方式装,安装脚本都会自动完成初始化:创建 postgres 系统用户、初始化数据目录(默认在 /var/lib/postgresql/16/main)、注册 systemd 服务、启动数据库集群。这也是我推荐 apt 安装的原因,比手动 initdb 省掉了很多步骤。

2.2 理解默认配置:认证、端口与进程状态

装好之后先别急着改配置,先理解它默认干了什么。PostgreSQL 默认只监听本机回环地址 127.0.0.1,端口 5432,对外网不开放。数据目录的权限收得很紧,只允许 postgres 这个系统用户访问,这是刻意的安全设计。

认证方式分两层,第一层是客户端认证文件 pg_hba.conf,控制"哪个客户端从哪里来可以用什么方式连";第二层是数据库内部的角色密码。默认安装下,本地连接走的是 peer 认证,意思是操作系统用户和数据库用户名一致时直接放行,不需要密码。所以你会看到:

sudo -u postgres psql

这个命令能直接进 psql,因为当前系统用户切换成了 postgres,和数据库超级用户 postgres 同名,peer 认证直接通过。这种方式在本地运维时很方便,但 Navicat 这样的外部程序要连接,就需要改认证方式了。

进程状态可以通过 systemd 确认:

systemctl status postgresql ss -lntp | grep 5432

能看到 postgres 监听在 5432 就说明基本正常。如果 ss 命令没有输出,大概率是服务没起来,查看 /var/log/postgresql/postgresql-16-main.log 里通常会有明确报错。

2.3 前置规划:用途决定参数,参数决定步骤

动手改配置之前,我强烈建议你先想清楚数据库给谁用、用在什么场景。是本地开发调试?局域网内多个服务共用?还是公网对外开放?这三种场景对应的安全策略和技术参数完全不同。

本地开发调试的话,PostgreSQL 保持只监听 localhost 就够了,Navicat 也装在同一台机器上,无需修改 listen_addresses,只需把认证方式从 peer 调整为密码认证,或者单独建一个允许远程的账号密码。

局域网内多个服务共用时,通常部署在内网服务器上,需要把监听范围放开到内网网段,pg_hba.conf 里也要增加对应网段的放行规则,必要时还可以结合防火墙只放行特定来源 IP。

公网开放这份需求风险最高,除了改监听地址与认证方式,还强烈建议启用 SSL 连接、设置强密码、定期检查日志、限制连接来源 IP。这三种场景的配置差异我整理成了对照表放在后面。

使用场景listen_addressespg_hba.conf 开放范围密码策略要求防火墙建议
本机开发'localhost'仅允许 127.0.0.1/32可设简易密码无需额外开放
内网服务'实际内网IP'放行内网网段 192.168.x.0/24建议强密码按需放行 5432
公网访问'*'精确限定来源 IP必须强密码仅放行信任 IP

先明确场景再动配置,能避免很多后续返工。我见过太多人一上来就按网上的教程把 listen_addresses 改成 '*'、把 pg_hba.conf 改成 trust,结果数据库裸奔在公网上,出了事故才后悔。

3. 数据库实例配置与账号体系搭建

3.1 修改监听地址与基础服务参数

假定你现在要把 PostgreSQL 放到内网环境,供局域网内其他机器连接。先找到主配置文件 postgresql.conf,用编辑器打开:

sudo vim /etc/postgresql/16/main/postgresql.conf

找到 listen_addresses 这一行,默认被注释掉,值就是 '#listen_addresses = 'localhost''。改成:

listen_addresses = '*'

这里改成 '' 表示监听所有网卡,如果你只想监听特定 IP,可以写成逗号分隔的具体地址,比如 '192.168.1.10,127.0.0.1'。改小范围比改 '' 更稳妥,内网环境下我也建议尽量指定 IP。

顺手检查一下端口配置,确认 port = 5432 没有被改成别的值。之后重启服务:

sudo systemctl restart postgresql@16-main

重启后用 ss -lntp 检查,应该能看到监听在 0.0.0.0:5432 或指定 IP:5432。如果没生效,八成是配置文件语法问题,查看系统日志定位。

这里插入一个我自己常犯的错:Ubuntu 上 PostgreSQL 的配置目录是按版本分的,/etc/postgresql/16/main/ 和 /etc/postgresql/14/main/ 里的文件互不相干。系统里装了两个版本时,很容易改了老版本的配置后去重启新版本服务,结果半天不生效。

3.2 pg_hba.conf 认证规则逐条解读

pg_hba.conf 是 PostgreSQL 连接认证的"门禁系统",每一行代表一条规则,从上到下匹配,第一条命中的规则生效。默认文件里已经有一些规则,常见的是:

local all postgres peer local all all peer host all all 127.0.0.1/32 scram-sha-256 host all all ::1/128 scram-sha-256

要理解每条规则,核心看四个部分:连接类型、数据库、用户、来源地址、认证方式。local 表示 Unix 域套接字连接,host 表示 TCP/IP 连接。peer 认证要求操作系统用户和数据库用户名一致,适合本地管理;scram-sha-256 是密码认证方式,也是目前推荐的标准做法。

如果你希望局域网内所有机器都能用账号密码连接,追加一行:

host all all 0.0.0.0/0 scram-sha-256

0.0.0.0/0 表示所有 IPv4 地址,严格一点可以换成具体网段,比如 192.168.1.0/24。IPv6 的规则单独加一行:

host all all ::0/0 scram-sha-256

改完 pg_hba.conf 后,不需要重启服务,只需要重新加载配置:

sudo systemctl reload postgresql@16-main

注意是 reload 不是 restart。reload 比重启轻量,不会断开现有连接,生产环境尤其推荐用 reload。

提示:pg_hba.conf 的改动只对新连接生效。测试连接时建议开一个新的客户端会话,不要复用之前已经建立的连接,否则你以为没生效,其实只是旧连接还活着。

3.3 账号与数据库创建的完整操作序列

认证配置就绪后,接下来就是创建业务用的账号和数据库。先切到 postgres 系统用户进入 psql:

sudo -u postgres psql

然后依次执行:

-- 创建一个带密码的登录角色 CREATE ROLE app_user WITH LOGIN PASSWORD 'YourStrongPassword'; -- 创建数据库并指定拥有者 CREATE DATABASE app_db OWNER app_user ENCODING 'UTF8' LC_COLLATE 'en_US.UTF-8' LC_CTYPE 'en_US.UTF-8' TEMPLATE template0; -- 查看角色和数据库确认创建成功 \du \l

创建账号时留意几个细节。LOGIN 权限必须显式给出,默认创建的角色是没有登录权限的。如果你希望这个角色可以创建数据库或复制流,可以再加上 CREATEDB、REPLICATION 等权限。最常犯的错误是只创建角色忘了给 LOGIN,Navicat 连接时报 password authentication failed,半天排查不出来。

创建数据库时我习惯指定 TEMPLATE template0,原因很实际。默认的 template1 模板里可能因为历史操作带入了一些扩展或设置,直接用模板1建库会把无关对象复制到新库里;template0 是一个纯净的初始模板,能避免这类污染。字符集和排序规则建议在创建时一次性定好,因为数据库一旦生成,LC_COLLATE 这类参数不能直接修改,只能重建库。

3.4 密码管理要点:别踩 md5 的坑

PostgreSQL 14 及以上版本默认把密码加密方式设置成了 scram-sha-256,不再推荐使用 md5。在创建用户时如果没有显式指定密码加密方式,写入系统表的就是当前默认的方式。你可以在 psql 里验证:

SELECT rolname, rolpassword FROM pg_authid WHERE rolname = 'app_user';

rolpassword 字段带 SCRAM-SHA-256 前缀说明使用的是新机制,如果是 md5 开头的值,说明客户端或 pg_hba.conf 配置里走了旧协议。建议在 postgresql.conf 里显式设置:

password_encryption = scram-sha-256

然后重启或 reload 使配置生效。Navicat 新版对 scram-sha-256 支持良好,不需要额外改客户端参数。如果你用的是老版本 PostgreSQL,加密方式是 md5,Navicat 连接一般也没问题,但从安全角度还是建议升级。

4. 实操验证:从命令行到 Navicat 可视化连接

4.1 用 psql 验证账号与远程连接

在进入 Navicat 之前,先用命令行把数据库连接验证一遍,这样可以隔离问题面。本地用新账号登录:

psql -h 127.0.0.1 -U app_user -d app_db -W

输入密码后能进入 psql 提示符,说明账号、密码、认证方式都没问题。如果这一步就报错,优先检查 pg_hba.conf 里 host 规则是否出现在之前的各条规则之前,因为 pg_hba.conf 按顺序匹配,前面的规则如果先匹配了 peer,后面的 scram 规则就不会生效。

局域网内另一台机器测试远程连接,先确认目标机器 5432 端口可达:

nc -zv 192.168.1.10 5432

如果端口通但 psql 连不上,绝大多数是 pg_hba.conf 来源地址网段写错,或者 listen_addresses 没有包含对应网卡的 IP。如果端口都不通,查防火墙和云安全组规则。

命令行全部验证通过之后,才轮到 Navicat 登场。这样出了问题,你能确定问题在数据库侧还是客户端侧,排查范围一下子缩小了一半。

4.2 Navicat 在 Linux 下的下载与安装步骤

Navicat 官方提供了 Linux 原生版本,现在下载到的多是 AppImage 格式的包。AppImage 的好处是免安装,下载后赋上执行权限就能直接运行,对于管理工具来说非常方便。

具体步骤如下:

# 指定下载目录 cd ~/Downloads # 将下载的 AppImage 文件赋执行权限 chmod +x navicat16-premium-en.AppImage # 直接运行 ./navicat16-premium-en.AppImage

如果运行后没有任何反应,最可能是系统缺少 AppImage 运行所需的 FUSE 库。Ubuntu 22.04 上安装:

sudo apt install libfuse2

安装完成后再运行 Navicat 基本就能弹出界面。有些发行版还需要装 libgtk-3-0、libasound2 这些图形库和音频库,遇到报错时根据提示安装对应的包即可。

第一次启动时 Navicat 会弹出注册或试用窗口。选择试用后即可正常使用全部功能,试用期结束后如果想继续使用,需要通过官方渠道购买授权,这点不多展开,尊重软件版权是基本共识。

4.3 新建连接:每一项参数怎么填才不出错

Navicat 主界面点击"连接",选择 PostgreSQL,弹窗里需要填的参数如下:

参数推荐值说明
连接名app_db_local显示名称,随意起
主机目标服务器 IP 或 localhost本机填 127.0.0.1,远程填实际地址
端口5432默认值,不要写错
初始数据库app_db连接后默认选中的库,也可以留空
用户名app_user前文创建的角色
密码创建时设置的密码建议勾选"保存密码"

填完之后,Navicat 界面下方有个"测试连接"按钮。点击后如果出现"连接成功",跳转准备完成。如果在这里失败,按顺序检查:端口是否通、pg_hba.conf 是否放行了来源 IP、用户名密码是否正确、PostgreSQL 是否在监听。

有一个容易忽略的地方:如果服务器端的 PostgreSQL 开启了 SSL 并要求 SSL 连接,Navicat 默认会尝试协商,一般不需要手动配置。但某些环境下服务器 SSL 配置不完整,连接时报 SSL error,可以在 Navicat 连接的高级选项卡里把 SSL 相关的选项调整为"不使用",先排除 SSL 层的影响。

连接成功之后,就可以看到左侧的数据库树形结构,展开后表、视图、函数、触发器、索引等都一目了然。双击表可以查看数据、编辑记录,右键表可以查看表结构、创建查询、导入导出,基本能满足日常开发运维的全部需求。

4.4 用 Navicat 建表、查询与备份的三板斧

连接建立后,我常用的三个高频操作简单介绍一下。第一个是建表。右侧栏找到"表",点击"新建表",图形化添加字段,设置类型、长度、非空、默认值、主键等属性。在字段类型里可以直接搜索,比如要建一个 JSON 字段,类型选 jsonb 即可,不必去纠结字段长度的提示。设计器还能直接生成 SQL 语句,在"SQL 预览"标签页能看到完整 DDL,这对想学习建表语句的新手特别友好。

第二个是查询。点击"查询"->"新建查询",在编辑器里写 SQL,支持语法高亮和自动补全。写完按 Ctrl+R 执行,结果集直接显示在下方,还能一键导出为 Excel、CSV、JSON 等格式。日常排查数据时,这个功能比 psql 舒服太多了,写完直接能看到表格化的结果。

第三个是备份与导出。选中目标数据库,右键"备份",选择备份类型和文件路径,生成 .psql 或 .backup 文件。恢复时同样是右键数据库,选择"恢复",指向备份文件即可。对于要迁移数据或定期做快照的场景,这个功能属于救命的级别。Navicat 的导出向导也支持把表结构和数据拆开导出,跨数据库迁移时非常灵活。

5. 高频问题排查与避坑记录

5.1 连接失败的排查方法论:用分层定位法

连接不上数据库时,最容易犯的错误是东试一下西试一下,毫无章法。我自己总结了一套分层定位法,按顺序排查,基本能在五分钟内定位问题所在。

第一层,网络层。从客户端机器 ping 服务器、用 nc 测试端口。端口不通说明要么服务没监听,要么防火墙拦截。第二层,认证层。端口通了,连接报认证失败,看 pg_hba.conf 的规则,确认来源地址命中的规则是不是你预期的那条。第三层,账号层。认证方式通过了但报密码错误,这就要检查账号密码本身,以及是否用了错误的数据库名或用户名。第四层,配置层。以上都没问题但仍连不上,检查 postgresql.conf 里的 listen_addresses 和数据库服务状态。

按照这个顺序排查,每层都有对应的验证命令和日志位置,效率比漫无目的的搜索高很多。

5.2 四个最常见的报错与解决方案

整理几个我见过的高频报错,直接给出原因和方案。

报错一:psql: error: connection to server at "192.168.1.10", port 5432 failed: Connection refused。原因多半是服务没有监听对应地址,检查 ss -lntp 输出,确认 listen_addresses 是否包含目标 IP,确认服务是否正常运行。

报错二:FATAL: password authentication failed for user "app_user"。原因可能是密码错误,也可能是 pg_hba.conf 中该用户命中的规则是 peer 而不是 scram-sha-256。Linux 下使用 Navicat 远程连接时如果命中 peer 规则,就会直接拒绝并提示认证失败,把对应 host 规则改为 scram-sha-256 即可。

报错三:FATAL: no pg_hba.conf entry for host "192.168.1.20", user "app_user", database "app_db"。这条最直观,就是 pg_hba.conf 里没有匹配客户端来源地址的规则。在文件末尾追加对应网段的 host 规则,然后 reload。

报错四:psql: error: connection to server at "127.0.0.1", port 5432 failed: FATAL: database "app_db" does not exist。这个通常不是连接问题,是初始数据库名写错了。如果创建的是 app_db,连接时填错了别的名字,就会得到这个报错。Navicat里可以先不填初始数据库,连接成功后再手动切换目标库。

5.3 性能与安全层面的补充实践

搭建完成能正常连接后,如果你是给生产环境用,下面这几个点值得再做一遍。

第一个是连接数限制。默认 max_connections 通常是 100,如果前端服务并发较高,连接池配置不合理很容易把连接占满。查看当前连接数:

SELECT count(*) FROM pg_stat_activity;

第二个是常用性能扩展。我建议装上 pg_stat_statements 来跟踪慢查询和频繁执行的 SQL:

CREATE EXTENSION IF NOT EXISTS pg_stat_statements;

同时需要把 postgresql.conf 里的 shared_preload_libraries 改为:

shared_preload_libraries = 'pg_stat_statements'

然后重启服务生效。这之后可以从 pg_stat_statements 视图中查看 SQL 执行耗时分布,对排查性能瓶颈是刚需。

第三个是备份策略。无论哪个环境,最少要有一条自动备份的路线。写一个简单的 cron 任务,每天凌晨用 pg_dump 导出指定库:

pg_dump -U app_user -h 127.0.0.1 app_db -F c -f /backup/app_db_$(date +%Y%m%d).dump

配合外部存储定时同步,基本能应对误操作和误删表这类事故。

第四个是防火墙。如果你用的是 ufw,可以限制 5432 只对特定 IP 开放:

sudo ufw allow from 192.168.1.0/24 to any port 5432 proto tcp

不要直接 sudo ufw allow 5432,否则所有公网 IP 都能扫到你的数据库端口,很容易被人盯上尝试爆破。

5.4 从部署到维护的经验总结

这套环境我实际部署过多次,感触最深的一点就是:配置 PostgreSQL 一定要有"最小权限"意识。listen_addresses 不必开就不开,pg_hba.conf 能限定网段就不写 0.0.0.0/0,账号能只给目标数据库权限就不给超级权限。安全不是一个开关,而是每个配置项都收敛一点之后累积出来的结果。

另一个心得是管理工具和命令行工具不要互相替代,而是配合使用。日常快速查看数据、改几条记录、查看表结构,Navicat 效率很高;但批量脚本、迁移任务、复杂运维操作,psql 和脚本更可靠。把两者都留在手边,根据自己的习惯灵活切换,这才是数据库工作的正确姿态。

最后分享一个小经验:每次修改完 postgresql.conf 或 pg_hba.conf,先 reload 而不是 restart,reload 不会中断业务连接。改完配置后一定要立即测试一个新建连接,确认无误后再去做其他事情。如果是在远程服务器上操作,最怕的就是改错配置导致服务起不来,所以改之前先备份原文件,改完以后先 reload 观察状态,出了问题能快速回滚。这套流程看似简单,真能帮你在紧急时刻少流很多汗。

相关新闻

uniCloud Serverless 实战:英语学习小程序全链路开发

uniCloud Serverless 实战:英语学习小程序全链路开发

简介:这是一套面向英语学习者与小程序开发者的完整项目源码,基于uniapp与uniCloud Serverless架构构建,可直接在微信环境中运行。项目集生词本记录、拍照识别单词、内置词典查询、AI语音翻译、跟读打分评测于一体,并针对考研人群补…

2026/10/20 17:33:06 阅读更多 →
WiFi指纹室内定位实战:从原理到Demo搭建

WiFi指纹室内定位实战:从原理到Demo搭建

1. 室内定位的现实困境与WiFi方案的破局点实话实说,第一次接手“基于WiFi的室内定位”这个方向时,我心里是打鼓的。日常大家用GPS导航已经习惯了,掏出手机就能知道自己在哪,但一旦走进大型商场、地下车库、机场航站楼,…

2026/10/20 17:33:06 阅读更多 →
大模型后端长对话记忆架构全解析:从无状态到有状态

大模型后端长对话记忆架构全解析:从无状态到有状态

做后端的人都有过这种体验:用户和AI助手聊了三十轮,前二十轮里明明已经把需求背景、偏好、禁忌都交代清楚了,结果聊到第三十一轮,AI突然反问一句“您刚刚提到的那个项目背景,方便再描述一下吗?”当场血压就…

2026/10/20 17:33:06 阅读更多 →

最新新闻

大模型跨机房高可用 SLA 探针:基于 gRPC 双向流的微秒级心跳检测

大模型跨机房高可用 SLA 探针:基于 gRPC 双向流的微秒级心跳检测

在分布式大模型推理架构中,多机房、多云灾备已经成为保障业务 SLA(服务等级协议)的标配手段。通常架构师会在华东、华北以及多云供应商之间部署异构推理网关,当某一个机房的底层专线抖动、供电故障或者 GPU 集群显存发生静默死锁时…

2026/10/20 18:11:37 阅读更多 →
医院HIS系统操作手册编写指南:从功能说明书到医护落地工具

医院HIS系统操作手册编写指南:从功能说明书到医护落地工具

简介:《医院HIS系统使用操作说明手册》是一份面向医院工作人员的信息化系统操作指南,旨在帮助用户快速掌握门诊挂号、医生工作站、收费结算、住院管理等核心流程,降低误操作风险。压缩包仅含1个doc文档,体积约503.86MB&#xff0c…

2026/10/20 18:11:37 阅读更多 →
从C-Space到A*:多边形机器人避障路径规划的完整实现链路

从C-Space到A*:多边形机器人避障路径规划的完整实现链路

做机器人避障路径规划的人,十有八九是从A算法入的门。但很多人最初在栅格地图上把A跑得飞起,用的都是点模型——把机器人当成一个没有体积的像素,地图上能走就是能走。等真要往多边形机器人上迁移,问题就全冒出来了:地…

2026/10/20 18:11:37 阅读更多 →
AI原生生成4K全景视频:原理、应用与实操复盘

AI原生生成4K全景视频:原理、应用与实操复盘

最近AI视频生成赛道的屏霸,是一条关于“4K 360度全景视频原生生成”的消息。一支跨区域研究团队放出了技术细节,核心不是“生成了一部超高清全景片”,而是“模型直接输出球面视角的连续视频”。老玩家都知道,这俩区别是天壤之别。…

2026/10/20 18:11:37 阅读更多 →
Claude不支持插件:大模型工具调用的真相与替代方案

Claude不支持插件:大模型工具调用的真相与替代方案

我不能按照您的要求生成关于“Claude 插件”的博文内容。 原因如下: Claude 是 Anthropic 公司开发的闭源大语言模型,官方从未开放插件(Plugin)生态 。截至2024年7月,Anthropic 官方文档、开发者中心、API 说明及所…

2026/10/20 18:11:37 阅读更多 →
Appium移动端自动化测试环境搭建全攻略:Python+Android+Node.js实战

Appium移动端自动化测试环境搭建全攻略:Python+Android+Node.js实战

1. 先把环境装好,再谈自动化 做移动端自动化测试,很多人一上来就急着写脚本,结果真正动手时,光是环境安装就把热情消磨了大半。Appium Python Android Node.js这套组合,几乎每个部件都有自己的版本要求、环境变量和…

2026/10/20 18:10:34 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →