Shield CLI v0.3.3 新增 PostgreSQL 插件:浏览器里管理 PG 数据库

前两天发了 MySQL 插件,现在 PostgreSQL 也跟上了。同样的思路------一条命令装好,浏览器打开就能用,不需要在对方机器上装任何客户端。


一条命令安装

bash 复制代码
shield plugin add postgres

验证:

bash 复制代码
shield plugin list
# NAME      VERSION  PROTOCOLS              INSTALLED
# postgres  v0.1.0   postgres, pg, postgresql  2026-03-25T10:00:00+08:00

前提是主程序升级到 v0.3.3+:

bash 复制代码
brew update && brew upgrade shield-cli
# 或
curl -fsSL https://cdn.jsdelivr.net/gh/fengyily/shield-cli@main/install.sh | sh

使用方式

Web UI(推荐)

bash 复制代码
shield start

http://localhost:8181 添加好 postgres 插件

http://localhost:8181 添加应用,Protocol 选 postgres,填好地址、用户名、密码,点连接。

命令行

bash 复制代码
# 连接远程 PostgreSQL
shield postgres 10.0.0.5:5432 --db-user postgres --db-pass mypass --database mydb

# 只读模式
shield postgres 10.0.0.5:5432 --db-user postgres --readonly

不传凭证会交互式提示输入。pgpostgresql 是别名,效果一样:

bash 复制代码
shield pg 10.0.0.5:5432

Web 界面功能

连接成功后浏览器自动打开 Web SQL 客户端,界面和 MySQL 插件类似,但针对 PostgreSQL 做了适配:

Schema 树形浏览

PostgreSQL 按 Schema 组织,不像 MySQL 按 Database 切换。左侧栏展示 Schema → Table → Column/Index 三级树结构,支持搜索过滤。

SQL 编辑器

  • 多标签页,Ctrl+Enter 执行
  • 结果排序、CSV 导出、单元格复制
  • 双击单元格查看完整内容(长文本、JSONB 友好)

表结构管理

  • 查看字段类型、默认值、约束
  • 可视化创建表(支持 PG 类型:SERIALBIGSERIALTIMESTAMPTZJSONBUUIDINET 等)
  • 创建/删除索引
  • 添加/删除字段
  • 创建/删除 Schema

行级操作

  • 插入记录
  • 编辑单元格(双击)
  • 删除行(带确认)

只读模式

和 MySQL 插件一样,只读/读写由启动方控制。只读模式下 INSERT、UPDATE、DELETE、DROP、ALTER、CREATE 等写操作被前后端双重拦截,远程用户无法绕过。


和 MySQL 插件的区别

两个插件功能结构一致,但在 SQL 层面做了完整的 PostgreSQL 适配:

MySQL 插件 PostgreSQL 插件
组织方式 Database → Table Schema → Table
标识符引用 反引号 ````` 双引号 "
自增类型 AUTO_INCREMENT SERIAL / BIGSERIAL
元数据查询 SHOW 命令 information_schema
特有类型 --- JSONBUUIDINETTIMESTAMPTZ

插件源码独立维护

PostgreSQL 插件的代码不在 Shield CLI 主仓库里,而是放在独立的插件 monorepo:

github.com/fengyily/shield-plugins

后续 Redis、SQL Server 等插件也会放在这里。每个插件是独立的 Go module,互不依赖,CI 自动检测哪个插件有改动就构建哪个。


实际场景

临时给同事查 PG 数据

同事需要查几条数据,但他那台机器上没有 pgAdmin 也没有 DBeaver:

bash 复制代码
shield postgres 192.168.1.100:5432 --db-user readonly --readonly

把链接发给他,浏览器打开就能查。用完断开。

排查线上 Schema 结构

生产环境的 PG 不方便直连,通过 Shield 建立加密隧道,只读模式浏览 Schema、表结构和索引:

bash 复制代码
shield postgres prod-db.internal:5432 --db-user ops --readonly --invisible

--invisible 隐身模式需要授权码才能访问,防止链接泄露。

Docker 里的 PG

bash 复制代码
docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=postgres postgres:16
shield postgres 127.0.0.1:5432 --db-user postgres --db-pass postgres

当前插件状态

插件 状态
mysql ✅ 已发布
postgres ✅ 已发布
redis 计划中
sqlserver 计划中

试一下

bash 复制代码
# 安装/升级 Shield CLI
brew tap fengyily/tap
brew install shield-cli
# 或
curl -fsSL https://cdn.jsdelivr.net/gh/fengyily/shield-cli@main/install.sh | sh

# 安装 PostgreSQL 插件
shield plugin add postgres

# 连接
shield postgres 127.0.0.1:5432 --db-user postgres

开源地址:https://github.com/fengyily/shield-cli

插件仓库:https://github.com/fengyily/shield-plugins

文档地址:https://docs.yishield.com

有问题或建议欢迎提 Issue

相关推荐
IP老炮不瞎唠1 天前
批量任务vs持续监控:不同市场调研场景下的配置策略
大数据·网络·网络协议
TheSumSt1 天前
日常教程丨远程串流打游戏方法介绍(Parsec/Tailscale+Headscale+DERP+Sunshine&Moonlight)
linux·网络·经验分享·nginx·开源·玩游戏
ICT系统集成阿祥1 天前
防火墙威胁告警溯源源 IP 完整方法(华为 USG / 华三 SecPath 通用)
网络·tcp/ip·华为
三无推导1 天前
One API Docker 部署实战:从 0 搭建多模型统一接口管理平台
运维·ubuntu·docker·容器·github·api网关·token管理
KaMeidebaby1 天前
卡梅德生物技术快报|组蛋白乙酰化修饰调控动脉粥样硬化的分子机制及中药表观干预研究
网络·人工智能·网络协议·tcp/ip·算法
念恒123061 天前
进程间通信
linux·服务器·网络
24zhgjx-fuhao1 天前
IS-IS认证
网络
TechWJ1 天前
被 Intercom Zendesk收费坑过?我用Chatwoot搭了个免费客服站
docker·ai·开源·客服·chatwoot
正经教主1 天前
【docker基础】第四课:容器操作与数据管理
运维·docker·容器
计算机安禾1 天前
【算法分析与设计】第38篇:最近点对与分治在几何中的应用
java·服务器·网络·数据库·算法