PostgreSQL连接失败报错全解析:从截断信息到六步排查法

PostgreSQL 这条连接失败报错,几乎每个和数据库打交道的人都见过。但最磨人的是,它经常在监控告警、连接池日志、或者运维群里被截成一行半,比如标题里这种样子:pgsql:connection failed connection to server at "1", port 5432 failed "postgres" P。IP 地址只露了个尾巴、报错文本被拦腰斩断、后面到底跟的是"密码错误"还是"服务器没开"完全看不出来。我第一次遇到时,下意识就去重置密码、重启数据库,折腾了快一个小时才反应过来,问题是出在监听地址上,跟密码一点关系都没有。

后来踩的坑多了,我养成了一个坏毛病先见之明:拿到这条报错,第一件事不是动手,而是先把报错的完整信息找出来,再按"服务是否存活 → 端口是否在监听 → 认证规则是否放行 → 网络链路是否可达"这个顺序一层层查。这篇文章就把这条截断报错拆到最小单位,把每个排查环节的做法、原理、坑点都写清楚,遇到类似问题直接照着来。内容偏实战,适合第一次被 PostgreSQL 连接问题卡住的开发者,也适合想把手动排查沉淀成脚本的老手。

1. 报错信息拆解:被截断的"1"和"P"里藏着什么

1.1 先建立"截断意识":你看到的可能只是报错的十分之一

很多人拿到报错就急着搜,但像connection to server at "1"这种形式,大概率是告警平台或客户端 UI 对长文本做了截断,原始信息至少还有后半句没显示出来。先别管前半句,当前最该做的是去数据库日志、应用日志或者客户端的详细输出里,把完整错误原文找出来。没有完整文本,后面所有判断都是猜。

以我经验,这类报错常见于三个场景:pgAdmin 里点"保存连接"做测试时弹出来的提示框、psql 命令行连接失败时的 stderr 输出、以及监控系统抓到的数据库不可用告警。最后一个场景里,告警标题往往只保留了开头几个字段,所以"postgres"后面的 P 其实就是下一段话的首字母,被截断了而已。

1.2 报错里每个片段对应什么含义

把标题拆开看,其实就是四个关键片段:

片段实际含义可能的完整形态
"1"服务器地址被截断的残留127.0.0.1、192.168.1.10、也可能是主机名
port 5432PostgreSQL 默认监听端口如果配置过非默认端口,这里会变
"postgres"连接时使用的数据库用户名也可能是数据库名,取决于你连接串的写法
P后面被截断内容的开头最常见的是password authentication failed for user "postgres",也可能是FATAL: ...

地址那个"1"最容易误导人。单独看完全猜不出原 IP 是几位数,但结合端口和用户名,基本能断定这就是典型的 PostgreSQL 客户端连接失败场景,问题范围一下子收窄到:服务端没起来、监听地址不对、认证没通过、网络不可达这四类。

1.3 完整报错有四种典型面孔,对应四种根因

实际工作中,后半句被截断前的完整报错往往长这样,每一种背后的原因差别很大:

  • connection to server at "127.0.0.1", port 5432 failed: Connection refused:连接被拒绝。说明 TCP 包到了服务器,但端口上没有服务在听。原因基本是服务没启动,或者监听在其他地址/端口。
  • connection to server at "x.x.x.x", port 5432 failed: timeout expired:连接超时。TCP 包发出去石沉大海,大概率是网络层被拦,比如防火墙、云安全组没放行。
  • FATAL: password authentication failed for user "postgres":认证失败。用户名或密码不对,或者pg_hba.conf里要求的认证方式和客户端给出的凭据对不上。
  • FATAL: no pg_hba.conf entry for host "x.x.x.x", user "postgres", database "postgres", no encryption:客户端 IP 压根没被访问控制规则匹配上,属于pg_hba.conf配置问题。

看到这里你应该明白,标题里那段话其实把最关键的"病根信息"截没了。所以我的建议永远是:先补全信息,再谈排障。补全信息的途径,优先看 PostgreSQL 自身的日志文件,其次是客户端工具勾选"显示详细错误"之类的选项。

2. 第一轮排查:服务进程与端口监听状态

2.1 一分钟内确认数据库进程是否存活

拿到完整报错后,第一个要排除的就是"服务到底有没有起来"。我见过不少次,监控一直报警连接失败,结果登上去一看,数据库压根没在跑——可能是之前有人手动停了,也可能是服务器重启后服务没有设置开机自启。

常用检查手段按顺序来:先跑pg_isready,这个工具专门用来探测 PostgreSQL 是否接受连接,决定了再去看进程。如果pg_isready返回no response,说明服务端没起来或端口不对;如果返回accepting connections,那问题就基本锁定在认证或网络层。

再进一步确认进程,Linux 上执行ps aux | grep postgres,能看到postgres主进程和一堆辅助进程才算正常。用 systemd 管理的环境,则直接systemctl status postgresql或systemctl status postgresql-16。这里有个容易忽略的点:一台机器上可能装了多个 PostgreSQL 实例或版本,服务名不一样,比如postgresql-14和postgresql-16是两套独立服务,务必确认你检查的是不是出问题的那个实例。

2.2 端口到底在不在听,用什么地址在听

进程活着不代表端口一定在监听,因为 PostgreSQL 可以通过listen_addresses和port两个参数决定绑定行为。这一步用ss -lntp | grep 5432看最直观。

输出可能有三种形态,含义完全不同:

  • 127.0.0.1:5432:只监听本机回环地址。本机连没问题,外部机器一律连不上。
  • 0.0.0.0:5432:监听所有 IPv4 地址。外部机器理论上可以访问。
  • [::]:5432:监听所有 IPv6 地址。这时候如果你用 IPv4 地址去连,也可能出现异常。

很多 SaaS 平台或云主机默认listen_addresses = 'localhost',本地 psql 连得欢,远程一测就挂,根子就在这。判断方法很简单:在本机能连、远程不能连,并且ss显示只有127.0.0.1:5432时,十有八九就是监听地址太保守。

2.3 服务活着、端口也在听,为什么还报 failed

如果进程和端口都正常,但连接还是失败,接下来就要看postgresql.conf里的两个参数:listen_addresses和port。前者取值可以是具体 IP、localhost、'*'等;默认是localhost,意味着只监听回环。要允许远程访问,至少得改成'*'或具体的网卡 IP。

注意这两个参数都属于"需要重启才能生效"的类型,光reload不够。改完先确认语法没问题,再执行重启,否则 PostgreSQL 可能直接起不来,反而把问题搞大。判断参数有没有生效,用SHOW listen_addresses;和SHOW port;查一遍就行,这两个 SQL 在任何客户端里都能跑。

这一轮排查我强烈建议同时打开日志看一眼。很多发行版里 PostgreSQL 日志默认在/var/log/postgresql/下,文件名形如postgresql-16-main.log;用源码编译安装的话,日志一般在$PGDATA/log。日志里会写着服务启动失败的具体原因,比如端口被占用、数据目录权限不对、配置语法错误。日志永远比猜来得快。

3. 第二轮排查:pg_hba.conf 认证规则比想象中更容易出问题

3.1 先搞清楚规则文件在哪,规则长什么样

服务正常、端口正常,连接还是被拒,那就要看访问控制了。PostgreSQL 的客户端认证规则全部集中在pg_hba.conf里。不知道文件路径时,直接在 psql 里执行SHOW hba_file;,它会返回绝对路径,这是最不容易出错的办法。

规则文件的每一行由五个字段组成:连接类型、数据库名、用户名、客户端地址、认证方法。比如最常见的两行:

# 本机通过 Unix Socket 连接,使用系统用户同名认证 local all all peer # 本机通过 TCP 连接,使用密码认证(旧版本可能是 md5) host all all 127.0.0.1/32 scram-sha-256

理解规则的核心在于"从上到下匹配,第一条命中即生效,后面的不再看"。很像编程里的 if-else 链,前面挡住你了,后面写得再宽松也没用。这个特性是后面大部分"加了规则不生效"问题的根源。

3.2 最容易踩的坑:规则顺序、认证方式不匹配

我自己就犯过一次低级错误:为了给一个新网段开放访问权限,顺手把host all all 0.0.0.0/0 scram-sha-256追加到了文件末尾,结果新网段还是报no pg_hba.conf entry。查了半天才发现,文件中间有一条更早生效的host all all 192.168.0.0/16 reject,把新网段的路给堵死了。新规则写在末尾,永远轮不到它匹配。从那以后,我每次改这个文件都会先用逻辑捋一遍顺序。

认证方式混用是另一个高频问题。服务器端如果要求scram-sha-256,但客户端驱动版本太老、不支持这种认证加密协议,就会一直认证失败。反之,老库还在用md5,而新客户端连接时默认走scram-sha-256,同样报错。最简单的办法是统一用scram-sha-256,但老驱动可能需要升级或调整连接参数。

还有一种常见情况:规则写的是local ... peer,也就是要求客户端通过 Unix Socket 连接,并且系统用户名和数据库用户名一致;但你的程序偏偏走 TCP 连进来,自然匹配不到规则。反过来,规则只写了host ...,用 psql 不带-h走 Socket 连接,也会踩同样的坑。

3.3 改完规则要用 reload,不是 restart

pg_hba.conf的修改不需要重启数据库,但必须触发配置重载才生效。三种等效方式:执行SELECT pg_reload_conf();、用系统命令systemctl reload postgresql或pg_ctl reload。花一分钟 reload,比重启整个实例安全得多,线上环境尤其如此。

验证规则有没有生效,别靠猜,直接在 psql 里查:

SELECT type, database, user_name, address, auth_method FROM pg_hba_file_rules;

这个视图会把你当前生效的规则逐条列出来,顺序一目了然。配合测试连接时日志里打印的"matched line X"信息,几乎能秒定位问题。PostgreSQL 在拒绝连接时,日志常会写明命中了哪一行规则,看到那个行号再回来查规则文件,效率会高很多。

4. 第三轮排查:网络链路与防火墙的边界问题

4.1 本机能连、远程不能连:先把矛头指向网络层

服务正常、认证规则也开放了,远程还是连不上,那就把问题定性为网络链路。最典型的反馈是:登录服务器本机用 psql 连没问题,从办公网或其他跳板机一测就卡住。

先确认端口监听在哪个地址上,ss -lntp只看得到127.0.0.1:5432的话,远程能连才怪。即便监听在0.0.0.0:5432,还有一层防火墙要过。不同 Linux 发行版的控制方式不同,CentOS/RHEL 系常用 firewalld,Ubuntu 系常用 ufw,先看服务状态再决定下一步:

systemctl status firewalld firewall-cmd --list-ports # firewalld 查看放行端口 ufw status # Ubuntu 查看防火墙状态

如果是云服务器,别只盯着系统内防火墙,云控制台里的安全组规则同样要检查。安全组是跑在虚拟机外面的一层过滤,系统内防火墙放行了但安全组没放行,照样连不进去。我帮人排查过好几次,最后都是安全组漏了 TCP 5432 端口。

4.2 timeout 和 refused 一字之差,指向完全不同

这里的排查关键要会区分Connection refused和timeout expired:

  • refused意味着 TCP 包已经到达服务器所在的网络栈,但目标端口没人监听,或者被本机防火墙主动回绝。问题大概率在服务端本身。
  • timeout意味着包发出后没收到任何回应,像是掉进黑洞。问题大概率在链路中间,比如安全组、网络 ACL、路由不通、或者客户端出口被限制了。

以前我用一个土办法判断:拿telnet 目标IP 5432或nc -vz 目标IP 5432快速测试端口。如果立刻报Connection refused,直接回服务器上看服务;如果一直 hang 到超时,就去查安全组和路由。这个方法简单粗暴,但真的能快速缩小范围。

4.3 别忽略 SELinux 和系统级限制

有些环境的服务器开启着 SELinux,默认策略可能不允许 PostgreSQL 绑定非标准端口,或者限制网络访问。当进程、防火墙、安全组全查完了还找不到原因时,可以用semanage port -l | grep postgresql检查端口上下文。不是所有环境都有这层限制,但它确实存在,而且很容易被忽略。

这一轮排查下来,本质是在回答一个问题:TCP 5432 的数据包,从客户端到服务端这条路上,到底在哪一跳被丢掉了。只要把链路拆成"客户端出口 → 安全组 → 系统防火墙 → PostgreSQL 监听"四段,一段一段验证,再诡异的现象也能定位出来。

5. 三个让我印象深刻的"假故障"复盘

5.1 案例一:服务被"静默重启"后没起来

某次周一早上监控开始报警,提示 PostgreSQL 连接失败。我登录服务器,pg_isready返回 no response,ps aux | grep postgres也空空如也,说明服务确实没跑。奇怪的是,上周五下班前数据库还好好的。排查后发现在周末,机房侧对服务器做了例行重启,而 PostgreSQL 服务的开机自启没有配置,重启后自然就变手动状态了。

这个坑的教训是:服务异常前先问一句"最近有没有重启过机器",再检查开机自启项。Linux 上用systemctl enable postgresql固定服务,Windows 上确认服务类型是否为自动。越是长时间稳定运行的环境,越容易在重启后暴露这种问题。

5.2 案例二:新加的认证规则看着没问题,就是不生效

某公司一台测试库,原本只允许办公网段访问,后来测试同学要连入新办公区的一个网段。我在pg_hba.conf末尾加了一行允许规则,reload 之后新网段依旧报no pg_hba.conf entry。当时我第一反应是语法写错了,反复检查了好几遍才意识到,规则文件偏前面位置有一条host all all 0.0.0.0/0 reject的兜底拒绝规则,新网段先被它拦住了。

查证方法很简单:看日志里连接输出,会明确提示命中了某一行规则。我后来养成了习惯,修改完规则立刻跑pg_hba_file_rules视图核对一遍匹配顺序,不给这种问题留机会。

5.3 案例三:本地防火墙关着,安全组却把端口堵了

一个线上业务系统从内网服务器访问数据库突然报 timeout expired,数据库所在机器确认进程正常、监听在0.0.0.0:5432,系统防火墙也确认没有拦截。理论上路径应该通畅,但实际就是连不上。最后抱着试试看的心态,打开云控制台看安全组,发现数据库服务器所属安全组的入方向规则里根本没有 5432 端口,某个同事在调整安全组策略时把这条规则误删了。

这个问题最大的迷惑性在于:数据库开着、防火墙也放行了,给人一种"网络肯定没问题"的错觉。而安全组位于虚拟机外侧,系统内的任何检查都看不到它。所以云环境里遇到 timeout,第一步就应该直接去控制台核对安全组,而不是在系统内反复折腾。

6. 把排查经验固化成清单和脚本

6.1 我常用的六步排查清单

把这几年踩坑经验浓缩成下面这张清单,按顺序执行就行:

  1. 找完整报错:先看数据库日志,再看客户端详细输出。
  2. 确认服务存活:pg_isready输出是否 accepting connections。
  3. 确认监听状态:ss -lntp看 5432 端口绑定的地址。
  4. 确认认证规则:SHOW hba_file;定位文件,pg_hba_file_rules查看匹配顺序。
  5. 确认网络链路:telnet测端口,区分 refused 与 timeout。
  6. 确认边界策略:云安全组、SELinux、ufw/firewalld 逐个排查。

这套顺序的核心逻辑是从服务端到客户端、从内层到外层。永远别跳步,也别在没拿到完整报错前就动配置。

6.2 一个快速诊断脚本框架

下面这个脚本框架可以直接拿去做第一步自动检查,按自己环境调整路径后丢到 cron 里也有用:

#!/bin/bash # PostgreSQL 连接故障快速诊断脚本 # 按实际环境修改 PGPORT/LOGFILE PGPORT=${PGPORT:-5432} LOGFILE=${LOGFILE:-/var/log/postgresql/postgresql-16-main.log} echo "==== 1. 探测端口 ====" pg_isready -p "$PGPORT" -h 127.0.0.1 echo "==== 2. 监听地址 ====" ss -lntp | grep ":$PGPORT" || echo "端口 $PGPORT 未监听" echo "==== 3. 配置关键项 ====" psql -U postgres -h 127.0.0.1 -p "$PGPORT" -c "SHOW listen_addresses;" 2>&1 psql -U postgres -h 127.0.0.1 -p "$PGPORT" -c "SHOW port;" 2>&1 echo "==== 4. 认证规则位置 ====" psql -U postgres -h 127.0.0.1 -p "$PGPORT" -c "SHOW hba_file;" 2>&1 echo "==== 5. 最近日志 ====" tail -n 50 "$LOGFILE"

脚本里借用了pg_isready和 psql 自带的排查能力,能在远程工具还不通的情况下快速判断服务端状态。建议先用 psql 加"超级用户"身份在本地跑通,确认能输出结果后再做自动化。

6.3 预防永远比救火省力

最后聊几句长期维护的心得。查明一次连接失败的原因只是治标,想要环境稳定,建议把下面几件事做进日常:一是pg_hba.conf和postgresql.conf纳入版本管理,每次改动留痕,出事能对比出是哪次变更引入的;二是监控里加上pg_isready探活和连接数统计,端口挂了第一时间告警,而不是等用户反馈;三是日志保留策略设置好,别等出了问题才发现日志已经被轮转掉。

连接失败这种报错,本质上是个"通信问题",它涉及的链路很长,但每一层都能用一把小工具探明。把这篇文章里的排查顺序跑顺一次,你对 PostgreSQL 的掌控感会明显不一样。至少下次再看到connection failed开头的截断告警,你第一反应不再是猜密码,而是去把完整报错找出来,然后从服务进程一路查到安全组,按部就班解决问题。

相关新闻

VB6销售管理系统源码解析:环境搭建、核心模块与避坑指南

VB6销售管理系统源码解析:环境搭建、核心模块与避坑指南

简介:这是一套面向VB6初学者与数据库入门者的销售管理系统完整源码,采用VB6.0结合SQLServer2000开发,可用于学习VB与SQLServer之间的连接、查询与数据操作。系统已实现产品信息录入、产品管理、查询打印、金额汇总及简单报表等模块&#xff0…

2026/10/20 22:50:29 阅读更多 →
华为交换机初始化与SSH/Telnet远程登录配置实战指南

华为交换机初始化与SSH/Telnet远程登录配置实战指南

1. 为什么初始化与远程登录配置是网络工程师的第一道坎刚拿到一台崭新的华为交换机,或者接手一台被前任管理员改得面目全非的设备,第一件事永远是把它恢复到可管理的状态,然后配好远程登录通道。这件事听起来简单,但我在实际项目里…

2026/10/20 22:50:29 阅读更多 →
NX CAM二次开发:批量创建电极程序组的C#实现

NX CAM二次开发:批量创建电极程序组的C#实现

做模具编程的朋友应该都有这种体会——一套模具下来,电极少说十几个,多的时候四五十个。每个电极在程序顺序视图里至少要建粗加工、精加工、清角三个程序组,命名还得严格按照项目规范来。以前我都是手动在NX里一个个新建、一个个改名&#xf…

2026/10/20 22:49:27 阅读更多 →

最新新闻

SST-2评测任务配置逐项拆解:从64条开发样本到可复现评测

SST-2评测任务配置逐项拆解:从64条开发样本到可复现评测

1. 评测任务配置的底层逻辑:为什么一个配置文件值得逐项拆解很多人第一次接触评测框架时,注意力都放在模型本身——参数量、推理速度、准确率曲线。但真正跑过几轮完整评测的人会慢慢意识到,决定评测结果是否可信的,往往不是模型&…

2026/10/20 23:26:59 阅读更多 →
纵向加密装置V1.5资源包实战指南:策略配置、隧道验证与等保合规

纵向加密装置V1.5资源包实战指南:策略配置、隧道验证与等保合规

简介:本资源是科东PSTunnel2000纵向加密装置配套的官方客户端软件V1.5正式版,面向电力系统自动化、网络安全运维及工控安全领域技术人员,专为解决跨区域调度数据在公网或广域网中传输时的机密性、完整性与身份可信问题。压缩包为RAR格式&…

2026/10/20 23:26:59 阅读更多 →
从雷达观测数据到卫星轨道根数:坐标变换、速度拟合与轨道预报全流程解析

从雷达观测数据到卫星轨道根数:坐标变换、速度拟合与轨道预报全流程解析

做雷达数据处理的人大概都经历过这样的时刻:屏幕上明明有一个亮点,测距、测角、多普勒全都报得清清楚楚,但你要说它下一秒飞去哪儿、下一个圈次什么时候再回来,心里却完全没底。把一串雷达观测数据变成一条能够预报的轨道&#xf…

2026/10/20 23:26:59 阅读更多 →
分布式系统容错设计实战:从超时到熔断,全面构建高可用防线

分布式系统容错设计实战:从超时到熔断,全面构建高可用防线

先讲一个我参与过的真实故障。某电商平台大促当晚,核心交易链路依赖的支付渠道接口突然开始变慢,单次调用从平均 60 毫秒涨到 3 秒。由于调用方没有设置合理的超时机制,请求在 Tomcat 线程池里越堆越多,最终整条下单链路都卡在等待…

2026/10/20 23:26:59 阅读更多 →
直插式存储扩展模块:嵌入式设备扩容与数据迁移的实用方案

直插式存储扩展模块:嵌入式设备扩容与数据迁移的实用方案

存储扩容这件事,我这两年聊得最多。不管是给开发板加数据盘,还是给老设备续命,最终的瓶颈往往不是CPU,也不是内存,而是那点不够用的内置存储。AirMICROSD_1000直插式存储扩展模块,准确说是一类方案的代号&a…

2026/10/20 23:26:59 阅读更多 →
T+转U8+数据迁移实战:科目、辅助核算与期初余额的平滑过渡方案

T+转U8+数据迁移实战:科目、辅助核算与期初余额的平滑过渡方案

简介:专门用于T与U8之间数据迁移的辅助工具,面向财务人员、ERP实施顾问及企业信息化运维者,解决T版本数据平滑转换至U8过程中的字段映射与账套整合难题。整个工具包共13个文件,压缩后仅426KB,包含8个SQL脚本&#xff0…

2026/10/20 23:25:58 阅读更多 →

日新闻

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/20 20:43:59 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

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

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在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 阅读更多 →