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

相关推荐
技术栈壳2 小时前
搭建docker hub私有仓库
运维·docker·容器
wuxia21182 小时前
云计算技术与实践(微课版)
docker·kubernetes·云计算
万象.2 小时前
docker网络种类,架构及命令
网络·docker·架构
.select.2 小时前
HTTPS ECDHE 握手解析
网络协议·http·https
北京耐用通信2 小时前
工业现场通信互通 耐达讯自动化CC-Link IE转Modbus RTU网关
人工智能·物联网·网络协议·自动化·信息与通信
qq_297574672 小时前
K8s系列第十五篇(终篇):K8s 集群优化实战:性能、稳定性与安全性优化
docker·容器·kubernetes
空间宇航2 小时前
基于内核源码深入分析,梳理PostgreSQL总体设计
数据库·postgresql·软件构建
小陈工2 小时前
Python测试实战:单元测试、集成测试与性能测试全解析
大数据·网络·数据库·人工智能·python·单元测试·集成测试
wefg12 小时前
【计算机网络】套接字编程(套接字API/UDP和TCP服务器)
服务器·网络·计算机网络