我正在构建 Tabularis,一个原生数据库客户端(Rust + Tauri)。
MySQL 的支持已经相当不错,但 PostgreSQL 的实现要困难得多——这并不是因为性能问题,而是因为 <i>自省</i>。
Postgres “可以工作”,但一旦超出基本的表和列,事情就会迅速变得复杂。
到目前为止,我遇到的一些问题包括:
- 类型系统:
数组、JSON/JSONB、域、自定义类型、范围、几何类型——大多数客户端要么将它们扁平化为文本,要么处理不一致。
- 模式自省:
information_schema 的功能有限。
pg_catalog 功能强大但微妙。
触发器、函数、分区表、继承、物化视图都需要特殊处理。
- PostgreSQL 特有的用户体验:
CTE 重的查询、EXPLAIN ANALYZE 输出、PostGIS / pgvector 等扩展——这些无法干净地映射到通用的数据库抽象。
我目前使用 SQLx 和信息模式 + pg_catalog 查询的组合,但我相信还有更好的模式我尚未发现。
我希望能得到以下人的反馈:
- 编写过复杂 PostgreSQL 自省查询的人
- 对 PostgreSQL 客户端应该如何表示模式和类型有看法的人
- 对现有 PostgreSQL 图形用户界面感到沮丧的人
代码库(Apache 2.0):https://github.com/debba/tabularis
我乐于学习、迭代,并修正错误的假设。
返回首页
一周热榜
我想给正在研究小型加密交易平台的朋友们发个安全提醒。
如果你遇到CZR交易所,请务必保持高度警惕。在加密货币领域,一个常见的风险并不是“价格风险”,而是权限风险:一旦你将钱包连接到一个未知的去中心化应用(dApp)或将资产发送到一个未验证的地址,你可能无法找回任何东西。
以下是一些适用于此处(以及任何地方)的基本安全步骤:
- 不要将你的钱包连接到无法独立验证的网站。
- 不要仅仅因为某个页面或支持账号告诉你,就向平台发送USDT/BTC。
- 将“即时提现”、“限时验证”或“紧急存款以解锁资金”视为重大警告信号。
- 在测试任何新服务时,使用一个新的钱包/最少的资金,并撤销你不认识的授权。
- 如果有人有可验证的证据(交易哈希、存档页面、签名消息、带时间戳的清晰截图),请分享。如果没有,请保持客观,避免猜测。
你是支持人工智能还是反对人工智能?
有时候我被困在Windows上,只能在WSL中使用Claude Code。一直检查官方应用程序真让人烦。感谢Claude Code。<p>直接在Windows中安装Claude Code是无法使用的。<p>这是macOS应用程序的移植版 <a href="https://github.com/richhickson/claudecodeusage" rel="nofollow">https://github.com/richhickson/claudecodeusage</a>
嗨,HN,
我创建Envware是因为我厌倦了在切换笔记本电脑和工作站时,通过Slack/DN或不安全的笔记手动同步.env文件。
Envware是一个命令行工具,简化了环境变量管理,重点关注安全性和开发者体验。
主要功能:
- 端到端加密(E2EE):秘密信息在本地加密后再推送到云端。我们从未看到您的明文值。
- SSH密钥验证:设备授权与您的SSH密钥相关联。
- 多设备同步:在任何授权设备上无缝获取您的项目环境。
- 项目协作:安全地与团队成员共享项目。
目前版本为1.1.9,我正在努力进一步扩展它。我很想听听您对安全模型和命令行工作流的反馈。
网站:https://www.envware.dev
文档:https://www.envware.dev/docs
谢谢!