跳转到主要内容

这是本节的多页打印视图。 .

返回本页常规视图.

参考

用户数据目录、从 PGDash 迁移、来源与许可、常见问题。

1 - 用户数据与迁移

Crib 在你的 Mac 上保存哪些文件、哪些属于个人资料,怎样备份和恢复,以及从 PGDash 一次性迁移的过程。

用户目录

Crib 的数据在 ~/Library/Application Support/Crib/。下面列出与你有关的部分,有些文件在用到相应功能后才出现:

~/Library/Application Support/Crib/

  • user.sqlite个人资料:笔记、书签、标签、阅读历史、更正
  • preferences.json设置
  • session.json窗口、标签页和阅读位置
  • snippets.json片段库
  • backups/个人资料库升级结构前自动做的备份
  • Library/下载或导入的资料包、搜索世代和登记表
    • packs/
    • generations/
    • registry.sqlite
  • Distribution/版本目录缓存
  • Distribution-partials/中断下载的已下载部分,保留 7 天
  • Distribution-rejected/无法再通过校验的旧目录缓存,保留最近 5 份
  • api/本地 API 的地址、密钥和锁,启用 API 后出现
  • crib-migration.json从 PGDash 迁移的记录,迁移过才有

App 内置的资料包和初始搜索索引在 Crib.app/Contents/Resources/Library 里,只读,随 App 一起替换。

个人资料与内容

类别文件丢了会怎样
个人资料user.sqlite、snippets.json、preferences.json、session.json无法从别处恢复,需要自己备份
内容Library/、Distribution*/可以重新下载或导入;内置内容随 App 恢复
运行状态api/重新启用本地 API 时重建

下载、导入、启用、停用、卸载资料包和恢复资料组合都不写个人资料。卸载一个版本不会删除挂在上面的笔记。

备份个人资料

命令位置得到什么
备份个人资料…“资料库 → 维护”,或个人资料列表的更多菜单一个 SQLite 文件,默认名 Crib-user-backup.sqlite,含笔记、书签、标签、阅读历史和更正
导出个人资料…个人资料列表的更多菜单一个可移植的文件夹,默认名 Crib-personal
导出更正…个人资料列表的更多菜单只含更正的文件夹,默认名 Crib-corrections
导出片段库…“设置 → 片段”的更多菜单片段库文件
  • 备份和导出前,Crib 先保存所有正在编辑的草稿。与其他编辑冲突的草稿另存为新笔记。
  • 备份用 SQLite 的在线备份完成,包含尚未合并进主文件的已提交数据。Crib 运行时直接复制 user.sqlite 可能漏掉这部分。
  • 备份不能保存到 Crib 的用户目录里。
  • 片段和设置不在个人资料备份里,片段要单独导出。

恢复个人资料

  • 导入个人资料…:读入一个导出的文件夹,与现有个人资料合并;冲突的条目另存为副本,不覆盖。
  • 从备份恢复…:只在个人资料打不开时出现(提示“无法打开个人资料”或“个人资料需要更新版本的 Crib”)。Crib 先打开备份的副本检查,通过后把原来的 user.sqlite 改名为 user-unreadable-<时间>.sqlite 保留,再换上备份,然后重新打开。
  • 新建个人资料…:个人资料打不开时,从空白开始;原文件同样改名保留。

个人资料打不开时,阅读和搜索照常可用,只有笔记、书签、更正和阅读历史停用。

从 PGDash 迁移

Crib 以前叫 PGDash,数据在 ~/Library/Application Support/PGDash/。Crib 启动时、打开任何数据之前,会检查是否需要迁移。

迁移过程

  1. 确认 PGDash 没有在运行。PGDash 仍在运行时迁移失败,提示退出 PGDash 后重试。
  2. 清点旧目录中每个文件的大小和 SHA-256。遇到符号链接、多个硬链接或特殊文件就停止。
  3. 把整个旧目录复制到用户资料目录旁边的暂存目录 .crib-migration-<编号>,再清点一次;复制期间旧目录有变化就停止。
  4. 用 SQLite 在线备份从副本重建 user.sqlite 和 Library/registry.sqlite,并把登记表里的路径改到新目录。
  5. 旧的 api/ 改名为 legacy-api-<编号> 存档。在 Crib 中需要重新启用本地 API。
  6. 写入迁移记录 crib-migration.json,同步到磁盘,然后一次性改名为 Crib/。

旧目录从头到尾只读:不写入、不创建 WAL 文件,也不删除。迁移完成后它原样留在原处。

状态文件

迁移状态记在 ~/Library/Application Support/.Crib-migration-state.json,在 Crib 目录之外,因此失败的尝试不会被误认为已迁移。

状态含义
pending正在迁移
failed上次迁移失败
done已完成
declined你选择了跳过,不再尝试
replaceRequested你要求用旧资料替换现有的 Crib 资料,下次启动时执行

迁移失败

迁移失败时不创建 Crib 目录,Crib 以只读方式运行:内置文档照常阅读和搜索,笔记、书签、更正、阅读历史、下载和设置都不能修改。每次启动都会重试。提示窗口有三个按钮:

  • 重试迁移:立即再试一次,成功后 Crib 重新打开。
  • 稍后处理:保持只读,下次启动再试。
  • 跳过迁移…:确认后 Crib 从空白的个人资料开始,旧资料原样留在原目录,以后不再提示。

已有 Crib 资料时

如果 Crib 目录已经存在、没有迁移记录,而 PGDash 目录也还在,Crib 提示“发现 PGDash 旧资料”:

  • 迁移旧资料:Crib 重新打开时,把现有 Crib 目录整体改名为 Crib-before-migration-<时间> 保留,再迁移旧资料。迁移失败时改回原名。
  • 稍后处理:下次启动再提示。
  • 不再提示:继续使用现有的 Crib 资料。

迁移之后

  • 旧的 pgdash:// 链接仍能打开,见深链接。
  • MCP 客户端里旧的 pgdash 配置不会被自动修改。在 Crib 中重新复制 MCP 配置。

环境变量

这些变量用于开发和测试,日常使用不需要设置。

CRIB_USER_DATA
改用另一个用户目录。设置后不会自动从 PGDash 迁移
CRIB_MIGRATE_FROM
指定迁移的来源目录
CRIB_LIBRARY
用另一个资料库代替 App 内置的内容
CRIB_CATALOG_URL
版本目录地址,默认 https://repo.pigsty.io/doc/catalog.json
CRIB_ALLOW_DEVELOPMENT_CONTENT
设为 1 时接受开发签名的内容
CRIB_ALLOW_LOOPBACK_HTTP
设为 1 且可信根是开发可信根时,允许从 127.0.0.1 的 HTTP 地址获取目录
  • CRIB_LIBRARY、CRIB_CATALOG_URL 和两个 CRIB_ALLOW_* 变量没有设置时,Crib 读取同名的旧变量 PGDASH_*;两者都设置时以 CRIB_* 为准。
  • PGDASH_USER_DATA 不再指定 Crib 的用户目录,只被当作迁移来源。
  • 设置了任何 CRIB_* 或 PGDASH_* 变量时,需要重新打开的操作(例如迁移完成后)只退出 Crib,不会自动重新打开。

2 - 来源与许可

Crib 收录内容的来源、各自的版权与许可状态,以及发布前仍待核对的事项。

Crib 自己的代码和它收录的内容是两回事:应用的许可证不会覆盖手册、译文、Wiki、字体和图片各自的权利。本页列出每类内容的来源和目前的许可状态。

再分发许可尚未核对完成

应用代码尚未选定许可证,源码未公开。收录内容的再分发许可正在逐项核对,在核对完成前不会公开分发。本页是来源清单,不是新的授权。

内容来源

内容来源版权与许可
英文手册PostgreSQL 全球开发组发布的官方文档,按固定版本的源码归档构建各版本手册自带法律声明(legal.sgml 或早期版本的引言),原样保留在资料包的 licenses/ 目录
中文手册pgdoc 收录的各版本简体中文译本保留各版本原有的译者署名与版权声明;译文的授权与署名单独核对,不从英文原版的授权推定
历史资源(早期版本的 CSS、GIF)同一版本的另一语言版本或核实过的同版材料逐个记录来源与哈希;6.3、6.4 的样式表是兼容样式,不冒充 1998 年的原始文件
手册插图(SVG)手册源码自带的本地 SVG转为静态图片显示,原始字节保留
Wikipg.center 2026-10-24 的冻结快照保留每条记录的原始来源、语言与证据;不推定 Center 原创文字或译文有统一授权
版本、安全与能力信息版本发布归档、CVE 记录、能力矩阵不同来源分别保留引用,不假定有共同授权
Wiki 引用的外部网页与插图原始链接不随包下载,不推定任何许可

每个资料包里的 sources.json 记录了该包每个文件的来源和哈希,licenses/ 保存原始的法律声明。在应用里打开一页手册后,从阅读区右上角的“更多”菜单选择“来源与许可”,可以查看这一页所在资料包的来源清单和许可文件。

你自己的内容

笔记、书签、本地更正和片段属于你,存放在本机用户目录,不会打包进官方资料包,也不会被收集或上传。本地更正在阅读时明确标为“本地更正”,与官方原文区分。

应用依赖

macOS 应用只使用系统框架(SwiftUI、AppKit、WebKit、CryptoKit 等)和系统自带的 SQLite,没有引入第三方 Swift 包。构建端的 Go 工具依赖:

依赖用途许可
github.com/mattn/go-sqlite3SQLite 绑定MIT;内含的 SQLite 源码另有声明
github.com/yuin/goldmark渲染 Wiki 的 MarkdownMIT
golang.org/x/net解析 HTMLBSD 风格
golang.org/x/textUnicode 规范化BSD 风格

应用目前随包附带一份 Font Awesome Free 字体子集及其完整许可文本;2026-11-06 重设计后界面已改用系统的SF Symbols,这份字体会在后续打包改动中移除。

本站

本站文字采用 CC BY 4.0 许可,站点源码在 pgsty/crib.pgsty.com。站内截图来自 Crib 的开发构建,其中显示的手册内容版权归原作者与译者。

3 - 常见问题

关于下载、联网、系统要求、内容来源、隐私和与其他工具关系的简短回答。

现在能下载吗?

还不能。Crib 只有本地开发构建,Developer ID 签名、Apple 公证、内容再分发许可和生产资料包目录都还没完成。见发布状态和下载。

收费吗?开源吗?

都还没有定。应用代码尚未选定许可证,源码暂未公开。确定后会在下载页和开发日志写明。

需要联网吗?

日常使用不需要。手册和搜索索引随应用安装,首次启动断网就能阅读和搜索。以下操作会联网:

  • 刷新版本目录、下载其他版本或 Wiki(Core 版);
  • 点击搜索结果下方的网页搜索入口(在浏览器中打开);
  • 打开手册或 Wiki 中的外部链接。

没有账号,没有云同步,也不收集使用数据。

支持哪些 Mac?

应用按 macOS 14 部署目标构建,目前只在 Apple Silicon、macOS 27 的开发机上实测。macOS 14 实机和 Intel Mac尚未测试,正式发布前不作支持承诺。

界面有英文吗?

没有。应用界面目前只有中文。文档内容是中英双语的,可以只读英文手册,搜索时用 lang:en 限定英文。

某一节只有英文、没有中文怎么办?

62 套手册都是完整的,但两种语言的章节不一定一一对应。切换语言时,如果当前小节没有已验证的对应,Crib 会回到最近的已对应父节并提示。Wiki 中某种语言没有正文时显示缺失,不用另一种语言填充。

能自己修改译文吗?

可以写本地更正:选中一段文字,写下修改后的内容。更正存在你的个人资料库里,阅读时与原文并列显示,不会改动资料包,也不会自动应用到其他版本或语言。更正可以导出,方便提交给译者。见笔记、书签与本地更正。

卸载一个版本,笔记会丢吗?

不会。笔记和更正存在独立的 user.sqlite 里。卸载后,挂在该版本上的笔记显示为目标不可用;重新安装后恢复定位。

和 Dash 有什么关系?

Crib 借鉴了 Dash 的片段库、系统服务和本地 API 等用法,但内容格式是自己的:.crib 资料包带双语章节对应、版本信息和签名,不兼容 Dash docset,也不使用 Kapeli 的文档源。

能用来查 Patroni、PgBouncer 等其他项目的文档吗?

目前不能。资料包格式本身不绑定 PostgreSQL,以后可以用同样的格式加入其他项目,但这些都还没有立项。

以前用过 PGDash,数据怎么办?

PGDash 是 Crib 开发期间的旧名。Crib 首次启动时把旧目录的个人资料复制到新目录,旧目录保持不动。见用户数据与迁移。

在哪里反馈问题?

Crib 的源码仓库暂未公开。对本站内容的意见可以在 pgsty/crib.pgsty.com 提 issue。