Token导航 LogoToken导航TokenDH.com
研究检索需要联网clawhub未标认证来源可访问clear审计提醒

postgresql-dbPostgreSQL DB 搜索

Agent Skill

用于辅助数据库表结构、查询语句、迁移脚本和数据维护任务。它适合让 Agent 分析 schema、编写 SQL、排查查询问题、整理索引或生成迁移建议。使用时需要明确数据库类型、连接环境和目标表,区分只读分析与写入变更;涉及删除、更新、迁移和批量导入时,应优先 dry-run、备份或事务保护,避免误操作。

总安装

6,421

周安装

273

GitHub Stars

1

下载量

2,250
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:postgresql-db(PostgreSQL DB 搜索)
来源仓库:https://github.com/callxor/postgresql-db
安装命令:
openclaw skills install postgresql-db
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install postgresql-db

简介

PostgreSQL 数据库操作技能。支持连接管理、表结构查询、CRUD 操作、备份恢复、pgvector 向量查询。使用 psql 命令行工具,适合生产环境数据库运维和开发查询。

SKILL.md

⚠️ 安全声明

本技能需要以下权限:

  • 读取数据库凭证(.env~/.pgpass
  • 写入备份文件到本地磁盘
  • 执行用户提供的 SQL 语句

请确保

  • 仅在受信任的环境中使用
  • 备份文件妥善存储
  • 使用最小权限数据库账户

name: postgresql-db description: description: | PostgreSQL 数据库操作技能(需要数据库凭证)。 支持连接管理、表结构查询、CRUD 操作、备份恢复、pgvector 向量查询。

需要环境变量:DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD 或使用~/.pgpass 文件存储凭证。

使用 psql 命令行工具执行操作,适合生产环境数据库运维和开发查询。


PostgreSQL 数据库操作

何时使用

使用此技能当:

  • 查询数据库表结构、字段、索引
  • 执行 SELECT/INSERT/UPDATE/DELETE 操作
  • 创建/修改/删除表结构
  • 数据库备份与恢复
  • pgvector 向量相似度搜索
  • 查看连接状态、锁、性能指标
  • 导出/导入数据(CSV/SQL)

不使用此技能当:

  • 需要图形界面操作 → 推荐 DBeaver/pgAdmin
  • 复杂 ORM 操作 → 使用 SQLAlchemy/Prisma
  • 数据库集群管理 → 使用 Patroni/pgBouncer

数据库配置模板

连接信息存储在 TOOLS.md 或环境变量,不要硬编码密码

### PostgreSQL 数据库

| 项目 | 值 |
|------|-----|
| 主机 | your-db-host.example.com |
| 端口 | 5432 |
| 数据库 | your_database |
| 用户 | your_user |
| 密码 | $DB_PASSWORD (环境变量) |

基础命令

连接数据库

# 方式 1: 命令行参数
PGPASSWORD='密码' psql -h 主机 -p 端口 -U 用户 -d 数据库

# 方式 2: 环境变量(推荐)
export PGHOST=主机
export PGPORT=5432
export PGDATABASE=数据库
export PGUSER=用户
export PGPASSWORD=密码
psql

# 方式 3: .pgpass 文件(最安全)
echo "主机:端口:数据库:用户:密码" >> ~/.pgpass
chmod 600 ~/.pgpass
psql -h 主机 -U 用户 -d 数据库

查询表结构

# 列出所有表
\dt

# 列出所有表(含 schema)
\dt+

# 查看表结构
\d tablename

# 查看表详细结构(含索引、约束)
\d+ tablename

# 查看所有字段类型
SELECT column_name, data_type, is_nullable 
FROM information_schema.columns 
WHERE table_name = 'tablename';

基础 CRUD

# 查询
SELECT * FROM 表名 WHERE 条件 LIMIT 10;

# 插入
INSERT INTO 表名 (字段 1, 字段 2) VALUES (值 1, 值 2);

# 更新
UPDATE 表名 SET 字段=新值 WHERE 条件;

# 删除
DELETE FROM 表名 WHERE 条件;

# 计数
SELECT COUNT(*) FROM 表名;

高级操作

导出/导入

# 导出为 CSV
psql -h 主机 -U 用户 -d 数据库 -c "COPY (SELECT * FROM 表名) TO STDOUT WITH CSV HEADER" > 输出.csv

# 导出整个表
pg_dump -h 主机 -U 用户 -t 表名 数据库 > 表名.sql

# 导入 SQL
psql -h 主机 -U 用户 -d 数据库 < 输入.sql

# 导入 CSV
\copy 表名 FROM '输入.csv' WITH CSV HEADER;

备份/恢复

# 完整备份
pg_dump -h 主机 -U 用户 数据库 > 备份.sql

# 压缩备份
pg_dump -h 主机 -U 用户 数据库 | gzip > 备份.sql.gz

# 恢复
psql -h 主机 -U 用户 -d 数据库 < 备份.sql

# 恢复压缩
gunzip -c 备份.sql.gz | psql -h 主机 -U 用户 -d 数据库

pgvector 向量查询

# 向量相似度搜索(余弦距离)
SELECT *, embedding <-> '[0.1, 0.2, ...]'::vector AS distance
FROM your_table
ORDER BY distance
LIMIT 10;

# 余弦相似度
SELECT *, 1 - (embedding <=> '[0.1, 0.2, ...]'::vector) AS similarity
FROM your_table
WHERE 1 - (embedding <=> '[0.1, 0.2, ...]'::vector) > 0.8
ORDER BY similarity DESC;

# 查看向量维度
SELECT vector_dims(embedding) FROM your_table LIMIT 1;

性能监控

# 当前连接
SELECT pid, usename, client_addr, query, state, query_start 
FROM pg_stat_activity WHERE datname = current_database();

# 锁信息
SELECT * FROM pg_locks WHERE NOT granted;

# 慢查询(需要 pg_stat_statements)
SELECT query, calls, total_exec_time, mean_exec_time 
FROM pg_stat_statements ORDER BY mean_exec_time DESC LIMIT 10;

# 表大小
SELECT relname AS table, 
       pg_size_pretty(pg_total_relation_size(relid)) AS total
FROM pg_catalog.pg_statio_user_tables 
ORDER BY pg_total_relation_size(relid) DESC;

安全实践

密码管理

  • 推荐: 使用 ~/.pgpass 文件存储密码
  • 推荐: 使用环境变量 $PGPASSWORD
  • 推荐: 使用 .env 文件 + dotenv 加载
  • 避免: 在脚本中硬编码密码
  • 避免: 在日志中暴露密码

权限控制

# 查看用户权限
\du

# 创建只读用户
CREATE USER reader WITH PASSWORD '密码';
GRANT CONNECT ON DATABASE 数据库 TO reader;
GRANT USAGE ON SCHEMA public TO reader;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO reader;

# 撤销权限
REVOKE ALL ON TABLE 敏感表 FROM reader;

审计日志

# 开启查询日志(postgresql.conf)
log_statement = 'all'  # 或 'mod' / 'ddl'
log_duration = on
log_min_duration_statement = 1000  # 记录>1s 的查询

脚本示例

批量查询脚本

#!/bin/bash
# scripts/query.sh
source .env
psql -h $DB_HOST -U $DB_USER -d $DB_NAME -c "$1"

自动备份脚本

#!/bin/bash
# scripts/backup.sh
source .env
DATE=$(date +%Y%m%d_%H%M%S)
pg_dump -h $DB_HOST -U $DB_USER $DB_NAME | gzip > backups/${DB_NAME}_${DATE}.sql.gz
find backups/ -mtime +7 -delete  # 保留 7 天

故障排查

连接失败

# 检查网络
telnet 主机 5432

# 检查 pg_hba.conf
# 确保允许你的 IP 连接

# 检查防火墙
sudo ufw status | grep 5432

权限错误

# 查看当前用户
SELECT current_user;

# 查看表所有者
SELECT tablename, tableowner FROM pg_tables WHERE schemaname = 'public';

性能问题

# 分析表(更新统计信息)
ANALYZE 表名;

# 重建索引
REINDEX TABLE 表名;

# 清理死元组
VACUUM 表名;
VACUUM FULL 表名;  # 锁表,谨慎使用

参考资料

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

80.22%
按下载量换算1,805

安全审计

VirusTotal

通过

ClawScan

可疑

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills