背景最近处理了几起线上实例表膨胀的问题。表膨胀是指表的数据和索引所占文件系统的空间,在有效数据量并未发生大的变化的情况下,不断增大。PG使用过程中需要特别关注这方面,我们来给大家解析一下表膨胀的原因。表膨胀的直接触发因素是表上的大量更新,如全表的update操作、大量的insert+delete操作等。而我们知道,PG在更新数据时,是不直接删除老数据的。一个update操作执行后,被更改的数据的旧
转载
2024-02-29 13:20:04
92阅读
需要配置url时加 url:url?currentSchema=test ...
转载
2021-07-26 10:04:00
1074阅读
2评论
9的官方文档,我越看越迷糊,这表空间,数据库,模式,表,用户,角色之间的关系怎么在PostgreSQL里这么混乱呢?经过中午的一个小实验,我逐渐理清了个中来龙去脉。下面我来还原我的试验,并循序讲清其中关系。 [color=r...
原创
2023-03-21 07:58:33
295阅读
第三章
1. 下列聚合函数中不忽略空值 (null) 的是()(2001年10月全国卷)
A. SUM (列名) B. MAX (列名) C. COUNT ( * ) D. AVG (列名)
2. SQL中,下列涉及空值的操作,不正确的是()(2001年10月全国卷)
A. AGE IS NULL B. AGE IS NOT NULL C. AGE = NULL D.
--执行时间超过 10s 的语句select * from pg_stat_activity where state<>'idle' and now()-query_start > interval '10 s' --锁表SELECT * FROM pg_stat_activity where da ...
转载
2021-10-11 16:54:00
2241阅读
2评论
插入数据 insert into 原表格 values (数据,null); 插入指定字段插入 insert into 表名(属性名称) (列标识1,列标识2,列标识3) values (数据); 批量插入指定数据 insert into 表名(属性名称) (列标识1,列标识2,列标识3) valu ...
转载
2021-07-30 02:36:00
301阅读
为什么会有表膨胀--多版本并发控制机制多版本并发控制机制(MVCC)的原理在于,当它需要更改某块数据的时候,它不会直接去更改,而是会创建这份数据的新版本,在新版本进行更改,所以会存储多份版本,每个事务能看见哪一份版本的数据,由事务隔离级别控制。MVCC引入了一个问题,如何消除老旧的、没有使用的无用数据(版本),目前主流上有3种处理实现方式:来看看各种数据库的解决方式:第一种:以Oracle为代表的
转载
2024-03-20 20:31:23
102阅读
背景最近处理了几起线上实例表膨胀的问题。表膨胀是指表的数据和索引所占文件系统的空间,在有效数据量并未发生大的变化的情况下,不断增大。PG使用过程中需要特别关注这方面,我们来给大家解析一下表膨胀的原因。表膨胀的直接触发因素是表上的大量更新,如全表的update操作、大量的insert+delete操作等。而我们知道,PG在更新数据时,是不直接删除老数据的。一个update操作执行后,被更改的数据的
转载
2024-04-08 12:33:53
57阅读
Oracle 表压缩(Table Compression)介绍1、官方文档说法: As your database grows in size, consider using table compression. Compression saves disk space, reduces memory use in the database buffer cache, and can signi
转载
2024-02-23 15:46:38
636阅读
随着互联网的发展,线上业务越来越普及,用户量也是越来越大,那么必定导致用户量的增加,业务压力增大. 服务器的处理请求压力已经通过分布式微服务解决, 那么存储层的压力也需要有解决方案:分库分表。下面举例说明数据库表的几种拆分方式:如:user表。1、水平分表表结构相同。解决索引瓶颈问题。&nb
1、背景在项目组件的开发中,统计模块使用的表数据量较大,影响查询性能,需要进行分表处理。本文将介绍PostgreSql数据库表分区的策略以及其在巡查考评组件开发中的应用。2、术语解释主表:该表是创建子表的模板,它是一个正常的普通表,但是正常情况下它并不存储任何数据。子表/分表:这些表继承并属于一个主表,子表中存储所有的数据。3、问题分析3.1 PostgreSql如何分表数据库表分区把一个大的物理
转载
2024-07-04 19:50:11
399阅读
使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。1.INSERT INTOSELECT语句语句形式为:Insert into Table2(field1,field2,...) select value1,value2,... from Table1 [where column =value][]为可选内容要求目标表Table2必须...
原创
2021-06-29 14:56:38
3368阅读
1、查看数据库大小:select pg_database_size('log_analysis');select pg_database_size('log_analysis'); pg_database_size ------------------ 23799992(1 row)...
原创
2021-08-24 16:05:58
4467阅读
PostgreSQL数据库本身提供三种HA模式:1. 基于日志文件的复制 Master库向Standby库异步传输数据库的WAL日志,Standby解析日志并把日志中的操作重新执行,以实现replication功能。缺点在于Master库必须等待每个WAL日志填充完整后才能发给Standby,如果在填充WAL日志的过程中Master库宕机,未发送的日志内的事务操作会全部丢失。2. 异步流复制模式
转载
2024-04-08 12:57:58
256阅读
作为曾经干过运维的我来说,或许对大部分运维人员来说,不能依靠管理工具来操作数据库,如pgAdmin,经常远程登录到某一台数据库服务器,使用命令行的方式查询数据库中的表。获取当前db中所有的表信息。select * from pg_tables;用户自定义的表,如果未经特殊处理,默认都是放在名为public的schema下select tablename from pg_tables wh...
原创
2021-07-28 10:26:31
10000+阅读
1、plsql中 界面化创建用户:对表的操作叫做:DDL;(Data Definition Language)数据定义语言; 适用范围:对数据库中的某些对象(例如,database,table)进行管理,如Create,Alter和Drop.对数据操作叫做:DML;(Data Manipulation Language)数据操纵语言; 适用范围:对数据库中的数据进行一些简单操作,如insert,d
上层模块通过Table Access Method抽象层提供的表和元组的操作来调用存储模块的诸多功能。heap表的操作由heapam.c
原创
2022-07-26 16:55:36
116阅读
PostgreSQL表结构视图+物化视图+事件触发器+外部表实现远程查询外部表获取目标数据库的表结构的实时信息一、创建表结构视图,用超管用户postgres或者root,在对应的数据库下的public schema下执行用超管用户postgres或者root,给用户授权二、根据上面的视图,在用户schema下,创建物化视图 tab_info_mv三、部署审计功能3.1、在root用户或者post
转载
2024-08-28 21:53:10
436阅读
分表概述数据库分表,就是把一张表分成多张表,物理上虽然分开了,逻辑上彼此仍有联系。分表有两种方式:水平分表,即按列分开;垂直分表,即按行分开优势1. 查询速度大幅提升2. 删除数据速度更快3. 可以将使用率低的数据通过表空间技术转移到低成本的存储介质上场景官方建议:当数据表大小超过数据库服务器内存时应该使用分表。 两种分表方式大致相同,下面以垂直分表为例进行介绍。 垂直分表基本
转载
2024-04-17 17:11:55
1512阅读
1评论
一、简介 PostgreSQL 提供了多个系统管理函数来查看表,索引,表空间及数据库的大小,下面详细介绍一下。 二、数据库对象尺寸函数 函数名 返回类型 描述 pg_column_size(any) int 存储一个指定的数值需要的字节数(可能压缩过) pg_database_size(oid) b ...
转载
2021-09-13 16:00:00
1709阅读
2评论