SuperAPI AI 工具集

postgresql-scaling

数据与分析

查看项目

更新于 10-16 03:43

技能介绍

用途:该技能面向 PostgreSQL 的横向与纵向扩展,提供分区、连接池和高可用方面的生产级模式,属于原子技能。

主要能力:支持分区(partition)、连接池(pool)、复制(replicate)、分片(shard)四类操作;分区类型可选范围(range)、列表(list)、哈希(hash)。资料给出范围分区示例:CREATE TABLE events (id BIGINT, data JSONB, created_at TIMESTAMPTZ) PARTITION BY RANGE (created_at); 以及创建分区 events_2024_q1 的语句。连接池方面给出 PgBouncer 配置示例:pool_mode = transaction、default_pool_size = 20、max_client_conn = 1000。复制方面给出创建复制角色与物理复制槽的命令:CREATE ROLE replicator WITH REPLICATION LOGIN PASSWORD 'secret'; 和 SELECT pg_create_physical_replication_slot('replica1'); 并给出监控延迟查询:SELECT client_addr, pg_size_pretty(pg_wal_lsn_diff(sent_lsn, replay_lsn)) as lag FROM pg_stat_replication; 池模式选择建议:session 用于长连接,transaction 推荐用于 Web 应用,statement 用于简单查询。

使用方式:以 Skill("postgresql-scaling") 调用,operation 为必填参数,取值为 partition、pool、replicate、shard;partition_type 可选 range、list、hash。

适用场景:需要为 PostgreSQL 做分区、连接池、复制或分片扩展的数据库工程场景。

限制与前置条件:需 PostgreSQL 16+,需理解复制机制,并具备 PgBouncer 或 Patroni 使用经验。故障排查提示:分区未被使用可检查 SET enable_partition_pruning = on;连接过多应使用 PgBouncer;复制延迟需检查 I/O 与网络。其余细节暂未提供。