PostgreSQL 原生 Windows 服务:为什么不用 NSSM 包一层?

目录 1. 引子:我遇到的问题 2. 什么是 Windows 原生服务 3. PostgreSQL 安装时就已经是原生服务 4. NSSM 是给谁用的 5. 对比:原生服务 vs NSSM 包一层 6. 用 NSSM 包 PostgreSQL 的风险 7. 正确的管理姿势 8. 什么时候才该用 NSSM 9. 总结 摘要:很多人会用 NSSM 把程序包装成 Windows 服务,但 PostgreSQL 天生就是原生 Windows 服务,直接用 Set-Service / Start-Service 管理即可,完全不需要也不应该套一层 NSSM。本文讲清楚两者的定位区别、为什么给 PostgreSQL 套 NSSM 是负优化,以及正确的管理姿势。 核心结论(TL;DR):NSSM 是给"不能自己当服务"的普通程序(脚本、exe)用的;PostgreSQL 安装时就注册成了原生服务,能优雅关库、能被 SCM 直接管理。用 NSSM 包数据库反而会多一层中转、增加非正常退出导致数据恢复的风险。正确做法就是一行 Set-Service + Start-Service。 1. 引子:我遇到的问题 我在博客里写过一篇《Windows 上让 Git 自动同步:NSSM 服务 + 实时监听实战》,里面用 NSSM 把"监听推送 + 定时拉取"的脚本注册成了 Windows 服务,实现了开机自启、崩溃自愈。 ...

August 20, 2026 · 2 分钟 · 276 字

CSDN 博客本地化工具使用说明

目录 用途 使用方法 1. 准备 2. 下载图片 3. 可选参数 注意事项 建议 CSDN 博客本地化工具 用途 CSDN 导出的 Markdown 文件通常只包含图床链接,例如: ![图片](https://img-blog.csdnimg.cn/xxxx.png) 如果图床失效或文章被删除,图片就找不回来了。 这个工具会把 Markdown 里的远程图片全部下载到本地,并把链接改成相对路径: ![图片](images/xxxx.png) 这样博客的正文和图片就能一起保存、迁移、备份。 使用方法 1. 准备 本机需要安装 Python 3.11 或更高版本。 检查: python --version 2. 下载图片 python download_images.py "D:\博客\文章.md" 执行后会在文章同目录生成: D:\博客\ ├─ 文章.md └─ images\ └─ xxxx.png 文章.md 里的图片链接会自动改写为: ![图片](images/xxxx.png) 3. 可选参数 指定图片目录名: python download_images.py "D:\博客\文章.md" --out 图片 只预览,不实际下载: python download_images.py "D:\博客\文章.md" --dry-run 注意事项 脚本只处理 Markdown 的 ![alt](url) 图片语法 下载失败时会保留原图床链接,并在结果里显示 FAILED 已存在且大小不为 0 的图片会自动跳过,不会重复下载 执行前会先把原 Markdown 备份为 文章.md.bak 下载的图片文件会按 URL 文件名保存,重名时自动加编号 建议 下载完成后,把整个博客文件夹放进 Teldrive 备份目录,这样正文和图片都会一起自动备份,不再依赖 CSDN 图床。

August 18, 2026 · 1 分钟 · 88 字

Telegram 双备份系统实战:加密 + 明文双通道 + 机器人取文件

目录 1. 最终做成了什么 1.1 如何想到的 1.2 最终的结果 2. 用到的技术 3. 准备工作 4. 架构 4.1 项目架构 4.2 系统架构 5. 实施步骤 5.1 第 1 步:安装 Python 5.2 第 2 步:安装 PostgreSQL 17(原生服务,不用 Docker) 5.3 第 3 步:安装 Teldrive 5.4 第 4 步:安装 Teldrive 专用 rclone(最关键的一步) 5.5 第 5 步:安装 NSSM 5.6 第 6 步:安装 Python 依赖 5.7 第 7 步:创建 Telegram 私有频道 5.8 第 8 步:登录 Teldrive 并填 Token 5.9 第 9 步:注册三个 Windows 服务 5.10 第 10 步:添加备份目录 6. 验证 7. 技术原理 7.1 原理细节 1.1技术原理总览 1.2核心概念详解 7.2 脚本细节 2.1 teldrive-backup.ps1 2.2 direct-watch.ps1 2.3 direct_upload.py 2.4 安装模块 2.5 bat 入口 8. 实施过程中遇到的问题与解决 1. Chrome 无法登录 Teldrive,Edge 可以 2. 使用原生 PostgreSQL 而不是 Docker 3. PostgreSQL 服务无法启动 4. Telegram 频道显示 600 多个文件,本地只有 500 多个 5. 清空频道后再次同步只上传 2 个文件 6. 加密备份产生重复记录 7. rclone 报 HTTP 500 8. 机器人按钮没有反应 9. 机器人把文件发到了 Saved Messages 10. 手机上传的文件在机器人目录里看不到 11. 0 字节文件无法上传 12. bat 双击一闪而过 13. bat 执行后直接退出,无法回到菜单 14. 添加备份路径失败,提示 mode must be overwrite or version 15. 输入 q 报错 16. NSSM 后台服务找不到 Python 17. Telethon 会话数据库被锁 18. manifest 每小时都更新 19. manifest 需要日志轮替 20. 本地日志无限增长 21. rclone 不认识 teldrive 后端,加密备份突然失效 22. 加密备份不实时同步(private_database 频道长时间不更新) 23. 手动同步中断后 sync.priority 残留,实时同步再次停止 9. 总结 9.1 成果回顾 9.2 AI 辅助开发的真实体会 9.3 踩坑之后的收获 9.4 资源与后续 9.5 写在最后 我怕电脑坏了,博客、课件、代码和考研资料全丢,于是用 Telegram 的私有频道给自己搭了一套免费的自动备份系统:加密 + 明文双通道,文件有变化 5 秒内自动上传,机器人随时查目录、按序号取文件,开机自启,最后还封装成了一键安装包。 ...

August 18, 2026 · 15 分钟 · 3189 字

Windows 上让 Git 自动同步:NSSM 服务 + 实时监听实战

目录 1. 引言 1.1 自动化 Git 的介绍 1.2 传统手动推送痛点 1.3 我为何需要自动同步 2. 如何想到这个方案 2.1 背景:Linux 学习带来的启发 2.2 一段经历:用 OpenClaw 部署 NSSM 服务 2.2.1 原因 2.2.2 解决问题 2.2.3 开始执行步骤 3. 思路与方案定型 4. 需求分析 5. 验证方案可行性 6. 列出可行的方案 7. 项目实施的大纲 8. 详细步骤 8.1 一次性准备 8.1.1 在本地建一个仓库 8.1.2 安装 Git 8.1.3 SSH 准备 8.2 底层一步一步是怎么实现的 8.2.1 监听文件变化 8.2.2 事件泵 + 防抖 8.2.3 自动提交推送 8.2.4 服务化(NSSM) 8.2.5 定时拉取 9. 核心脚本设计(PowerShell) 9.1 脚本文件构成 9.2 推送守护脚本设计(git_sync_realtime_xxx.ps1) 9.3 定时拉取脚本设计(change_fetcher_generic.ps1) 9.4 设计上的几个关键决定 10. 遇到的问题与解决方法(最重要的关键部分) 10.1 bat 中文乱码 10.2 SSH 私钥带口令,自动化服务无法使用 10.3 git 的 “dubious ownership” 安全保护 10.4 GitHub 端口 22 被拦截 10.5 服务“已标记为删除”(错误 1072) 10.6 定时拉取间隔写死 10.7 FileSystemWatcher 实时监听不触发 10.8 服务 PAUSED(启动失败循环) 11. 安全设计:主仓库只推送 + 镜像区 11.1 为什么这样设计 11.2 两条线分别怎么做 11.3 安全边界(一定要分清) 11.4 配套安全措施 11.5 结论 12. 验证结果 13. 下载与体验 14. 总结与展望 摘要:本文记录我从“AI 机器人老挂机”的痛点出发,到用 NSSM 把 OpenClaw 网关变成 Windows 服务,再到把“Git 自动同步”做成一个完整工具包并打包发布的完整过程。全文包含:方案对比、详细步骤、核心脚本设计、8 个真实踩坑记录、安全设计、验证结果。全程由我提出需求、检查验证、确定改进方向,代码与排错由 AI 辅助完成。 ...

August 18, 2026 · 10 分钟 · 2058 字

博客日记与我的看法

目录 大家好,我是一个对于技术绝对热爱的人,其实呢我我对于技术学习有着强烈而浓厚的热爱,尤其是对于C语言的学习,在学习C当中,我决定必须用每日的坚持来践实我对于他的热爱,具体是每天抽出大约3个小时左右时间来阅读C方面的书籍,以及呢我同时注意维护我的gitee,使其成为我简历上亮眼的一部分,说到最后了我决定必须为进入像百度这样的大公司而奋发努力

August 18, 2026 · 1 分钟 · 2 字

高数学习中的常系数非齐次线性微分方程的问题

目录 非齐次方程当中的代入数值问题 一.遇到的问题 0.0那个数学公式在梨米特讲义的位置 0.1那个公式在梨米特讲义上的例题 0.2那道数学公式在同济课本的地方 1.那道题目 2.我算的结果和答案给的区别 1.我算的结果 2.答案给的是这样子的 二.解决的方案 1.我的错误分析 2.测试的结果分析 1.首先是在网站symbol这个网站测试的结果,如下,大家有兴趣可以试一下。 2.然后答案给的看一下 3.分析结果 三.我的建议 非齐次方程当中的代入数值问题 一.遇到的问题 首先我在写数学题的时候,遇到了一个问题,就是我用非齐次方程的代入数值的公式进行操作的时候,遇到了,一个问题,就是,我用公式算的竟然和答案给的不一样,当时我就有一点困惑,然后,我一点一点研究,探明这个公式的使用范围。 0.0那个数学公式在梨米特讲义的位置 0.1那个公式在梨米特讲义上的例题 0.2那道数学公式在同济课本的地方 1.那道题目 2.我算的结果和答案给的区别 1.我算的结果 2.答案给的是这样子的 二.解决的方案 当时我在淘宝问了一下,然后,我就知道我的问题在哪里了, 1.我的错误分析 通过和淘宝上的那位老师探究,我明白了,我的问题正是没有将二阶导的系数化为1,所导致的问题,老师,说,你可以方程俩边都除以2,将2阶导的系数化为1,就可以就解决问题了,我一想这个形式不正是和书上给的形式一样吗?那结果一个是对的,然后我就用symbol这个网站测试了一下,下面是测试结果。 2.测试的结果分析 1.首先是在网站symbol这个网站测试的结果,如下,大家有兴趣可以试一下。 2.然后答案给的看一下 3.分析结果 通过这些结果我们很清楚的看到,通过把二阶导的系数化为1,算出来是对的 三.我的建议 通过以上的分析相信大家都认识到了,这个公式的适用范围,那就是二阶导的系数必须为1,其他的倒是没有要求。

August 18, 2026 · 1 分钟 · 38 字

数学---等价无穷小问题

目录 题目如下:limit as x approaches 0 of (cosx)/(x^2)-(sinx)/(x ^3) 中,可以用等价无穷小写吗? 题目如下:limit as x approaches 0 of (cosx)/(x^2)-(sinx)/(x ^3) 中,可以用等价无穷小写吗? 我们考虑 𝑥趋近于 0 的情况,用 x 的泰勒展开式来近似 cos(𝑥)cos(x) 和sin(𝑥)sin(x): 在处理极限时,使用等价无穷小是一种常用的方法,但在特定情况下需要特别小心。虽然 (sin(x) 在 (x) 趋近于 0 时的等价无穷小确实是 (x),但在这个题目中,仅仅使用 (sin(x)作为近似并不足以获得正确的结果。这是因为表达式中的每一项都涉及较高次的项,这些项对最终的极限值有重要影响。具体来说,如果只将 (sin(x)) 近似为 (x),我们会得到: 这允许我们保留表达式中所有对极限有显著贡献的项,从而准确地计算出极限值。总结来说,简单地将 ( sin(x) 近似为 ( x ) 忽略了 ( x^3/6) 这类高阶项,而这些项在本题目中对最终结果是至关重要的,因此不能仅用 sin(x) ~x 来处理该问题。 大家好,资料来源于GPT-4,我整理了GPT的回答,若果有错误,还请各位大佬指正出来,感谢感谢!!!

August 18, 2026 · 1 分钟 · 54 字
本站访客 · 访问量