背景最近处理了几起线上实例膨胀的问题。膨胀是指数据和索引所占文件系统的空间,在有效数据量并未发生大的变化的情况下,不断增大。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.
转载 8月前
37阅读
--执行时间超过 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如何分数据库分区把一个大的物理
使用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
转载 8月前
183阅读
上层模块通过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
概述数据库,就是把一张分成多张,物理上虽然分开了,逻辑上彼此仍有联系。分有两种方式:水平分,即按列分开;垂直分,即按行分开优势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评论
  • 1
  • 2
  • 3
  • 4
  • 5