-
PostgreSQL pg_stat_activity 统计数据库当前活动会话信息
字段含义 字段名称 类型 描述 datid oid 数据库的对象ID。 datname name 数据库的名称。 pid integer 与会话关联的后台进程ID。 lead
2025-02-14, Views: 50 , Topics: PostgreSQL
-
PostgreSQL pg_stat_database 统计数据库相关信息
含义 字段名称 类型 描述 datid oid 数据库的对象ID。 datname name 数据库的名称。 numbackends integer 当前连接到该数据库的后台进程
2025-02-13, Views: 54 , Topics: PostgreSQL
-
PostgreSQL pg_stat_all_indexes pg_stat_sys_indexes 和 pg_stat_user_indexes 统计索引相关信息
区别 pg_stat_all_indexes:统计数据库中所有索引的信息。 pg_stat_sys_indexes:统计数据库中系统索引的信息。 pg_stat_user_indexes:统计数据库
2025-02-12, Views: 47 , Topics: PostgreSQL
-
PostgreSQL pg_stat_all_tables pg_stat_sys_tables 和 pg_stat_user_tables 统计数据表相关信息
区别 pg_stat_all_tables:统计数据库中所有表的信息。 pg_stat_sys_tables:统计数据库中系统表的信息。 pg_stat_user_tables:统计数据库中用户自定
2025-02-11, Views: 61 , Topics: PostgreSQL
-
PostgreSQL pgbench 基准测试工具
pgbench pgbench是PostgreSQL自带的一个基准测试工具,用于模拟数据库负载、测试数据库性能和进行基准测试。它可以用来执行各种类型的压力测试,以评估PostgreSQL数据库在不同
2025-02-10, Views: 67 , Topics: PostgreSQL
-
PostgreSQL 查询变慢原因分析(索引膨胀)
现象 PostgreSQL查询变慢,磁盘空间占用变多。 原因 无序索引 主键使用UUID存储。 B-tree索引在插入时,会根据主键值自动排序,以保持树的平衡。因UUID V4无序,在每次插入新记录
2025-02-08, Views: 87 , Topics: PostgreSQL 性能优化
-
PostgreSQL 索引膨胀
pgstatindex select * from pgstatindex('tmp_pkey'); 输出 postgres=# select * from pgstatindex('tmp_pk
2025-02-07, Views: 80 , Topics: PostgreSQL
-
PostgreSQL 表膨胀
什么是表膨胀 表膨胀是指表的数据和索引所占文件系统的空间,在有效数据量并未发生大的变化的情况下,不断增大。久而久之,关系文件被大量空洞填满,浪费了大量的磁盘空间。甚至某些特殊场景下,一个表中只有一条
2025-02-06, Views: 104 , Topics: PostgreSQL
-
PostgreSQL 获取索引大小
需求 获取索引占用的磁盘空间。 pg_indexes_size pg_indexes_size函数获取表的所有索引的大小总和。 注意:参数指定的是表名。 select pg_size_pretty(
2025-01-24, Views: 140 , Topics: PostgreSQL
-
PostgreSQL TOAST 存储技术
TOAST 超大属性存储技术:The Oversized-Attribute Storage Techniques 它是PostgreSQL的一种机制,用于处理大块数据以适应页面缓冲区。当待插入的数
2025-01-23, Views: 158 , Topics: PostgreSQL
-
PostgreSQL 删除数据库下的所有表
方法一(推荐) 生成删除所有表的语句 SELECT 'DROP TABLE IF EXISTS ' || table_name || ' CASCADE;' FROM pg_tables WHER
2025-01-22, Views: 139 , Topics: PostgreSQL
-
PostgreSQL 查看表的大小
表的组成 表(Table),包含了本体表与TOAST表两个部分: 本体表:存储关系本身的数据,即狭义的关系,relkind='r'(relkind是pg_class中的字段)。 TOAST表:与本
2025-01-20, Views: 159 , Topics: PostgreSQL
-
PostgreSQL 开启 track_commit_timestamp 记录数据最新更改时间
查看设置是否开启 show track_commit_timestamp; 开启设置 注意:需要重启 ALTER SYSTEM SET track_commit_timestamp = 'on';
2025-01-15, Views: 170 , Topics: PostgreSQL
-
PostgreSQL 时间操作
格式化日期 select to_char(current_date, 'yyyy-MM-dd'); 输出 postgres=# select to_char(current_date, 'yyyy
2025-01-10, Views: 207 , Topics: PostgreSQL
-
PostgreSQL 使用 jsonb Subscripting 中括号读取 JSON
jsonb Subscripting 对于jsonb类型的字段,可以使用array-style subscripting数组样式的下标表达式来读取和修改元素。 注意 只能用在jsonb类型的字段,不
2025-01-09, Views: 191 , Topics: PostgreSQL JSON
-
PostgreSQL group by 取时间最新一条数据
需求 表中有一列会出现多次,对应多条记录。 场景 登录表中,一个用户一条可能会有多次登录记录,取最早的一条记录。 还需要查出登录表中的其他所有字段。 SQL 使用row_number()窗口函数,使
2024-12-20, Views: 309 , Topics: PostgreSQL 窗口函数
-
PostgreSQL 在窗口函数中进行组内排序
SQL 窗口函数内的order by,可以使用case when来排序。 select *, row_number() over(partition by age order by
2024-12-19, Views: 294 , Topics: PostgreSQL 窗口函数
-
PostgreSQL 根据另一个表中的数据更新一个表中的数据
SQL update from update app_user u set login_time = log.login_time from login_log log where u.id =
2024-12-18, Views: 246 , Topics: PostgreSQL
-
PostgreSQL psql 命令行中使用 pset 将 null 输出为指定内容
需求 在psql命令行中,null字段输出是一个空格内容,容易与空字符串混淆,为了区分null和'',需要将null区别显示。 pset \pset命令可以设置不同类型的显示参数。 \pset [N
2024-12-13, Views: 254 , Topics: PostgreSQL
-
PostgreSQL 只读从库上创建索引
说明 以下操作没有特殊说明均在从库中执行。 会话级别复制角色 DEFAULT:标准行为,所有写操作记录到WAL日志中并复制到从库。REPLICA:在从库中使用,禁止普通事务中的写操作,但DDL操作可
2024-11-20, Views: 355 , Topics: PostgreSQL