/images/avator.png

xingliuhua

不见其增,日有所长。

pgsql-18 数组与范围类型

1. 📖 概述 PostgreSQL原生支持数组和范围类型,这是其独特优势。 2. 📊 数组类型 -- 创建数组列 CREATE TABLE articles ( id SERIAL PRIMARY KEY, title TEXT, tags TEXT[], ratings INTEGER[] ); -- 插入数组 INSERT INTO articles (title,

pgsql-19 PostGIS地理数据

1. 📖 概述 PostGIS是PostgreSQL的空间数据库扩展,支持地理数据存储和查询。 2. 🗺️ 安装PostGIS CREATE EXTENSION postgis; -- 查看版本 SELECT PostGIS_Version(); 3. 📍 基本操

pgsql-20 分区表技术

1. 📖 概述 分区表将大表拆分为多个物理分区,提高查询性能和维护效率。 2. 🔧 声明式分区 2.1 范围分区 CREATE TABLE orders ( id SERIAL, order_date DATE NOT NULL, amount NUMERIC(10,2) ) PARTITION BY RANGE (order_date); -- 创建分区 CREATE TABLE orders_2023 PARTITION

pgsql-22 索引优化策略

1. 📖 概述 索引是提升查询性能的关键,本章介绍索引优化的最佳实践。 2. 🎯 索引策略 2.1 何时创建索引 -- WHERE子句频繁使用的列 CREATE INDEX idx_users_email ON users(email); -- JOIN条件

pgsql-23 配置参数调优

1. 📖 概述 合理配置PostgreSQL参数可以大幅提升性能。 2. ⚙️ 关键参数 2.1 内存配置 # shared_buffers: 25-40% RAM shared_buffers = 4GB # effective_cache_size: 50-75% RAM effective_cache_size = 12GB # work_mem: 复杂查询内存 work_mem = 16MB # maintenance_work_mem: VA

pgsql-24 连接池与连接管理

1. 📖 概述 连接池管理数据库连接,提高性能和资源利用率。 2. 🔄 PgBouncer 2.1 安装配置 # Ubuntu sudo apt install pgbouncer # 配置 /etc/pgbouncer/pgbouncer.ini [databases] mydb = host=localhost port=5432 dbname=mydb [pgbouncer] listen_addr = * listen_port = 6432 auth_type = md5 auth_file = /etc/pgbouncer/userlist.txt pool_mode = transaction max_client_conn = 1000 default_pool_size

pgsql-25 慢查询分析

1. 📖 概述 识别和优化慢查询是性能调优的重要环节。 2. 🔍 启用慢查询日志 -- 记录超过1秒的查询 ALTER SYSTEM SET log_min_duration_statement = 1000; SELECT pg_reload_conf(); 3. 📊 pg_stat_statements CREATE EXTENSION pg_stat_statements; -- 最慢的10个查询 SELECT query, calls, mean_exec_time, total_exec_time