在平时的工作中,我们经常接触到数据库表和用户以及角色的使用,由于经常使用默认的数据库表空间和模式(Schema),所以我们往往忽略了数据库表空间和模式的概念以及作用。接下来,先介绍一下模式和表空间的定义以及作用。什么是Schema?一个数据库包含一个或多个已命名的模式,模式又包含表。模式还可以包含其它对象, 包括数据类型、函数、操作符等。同一个对象名可以在不同的模式里使用而不会导致冲突; 比如,h
转载
2024-03-21 06:30:23
78阅读
定义系统表的定义:系统表是存放系统信息的普通表或者视图pg中总共包括56张系统表和23个系统视图,系统视图建立在系统表之上系统表的创建pg的每一个数据库中都有一套自己的系统表,其中大多数系统表都是在数据库创建时从模板数据库中拷贝过来的系统表的维护系统表中的信息由sql命令关联的系统表操作来自动维护系统表的存储方式和数据库相关的系统表保存在/data/base目录下相应数据库的文件夹下,文件夹命名为
转载
2023-10-11 22:23:22
190阅读
# 使用pg库pg_archivecleanup
在PostgreSQL数据库中,pg_archivecleanup是一个非常有用的工具,它用于清理归档日志文件。归档日志文件是数据库写入的重要历史记录,但是随着时间的推移,这些日志文件会不断增多,占用大量磁盘空间。pg_archivecleanup可以帮助我们自动清理这些过期的日志文件,保持数据库的运行效率。
## 安装pg_archivecl
原创
2024-04-25 03:33:23
142阅读
# 了解Python中的pg库
在Python中,pg库是一个用于连接和操作PostgreSQL数据库的强大工具。它提供了简单的接口,使得在Python中处理数据库变得轻而易举。无论是执行查询、插入数据还是更新表格,使用pg库都能够轻松完成。
## 安装pg库
要使用pg库,首先需要安装它。你可以通过pip来安装pg库,只需在命令行中输入以下命令:
```bash
pip install
原创
2024-05-07 03:32:44
188阅读
尽管pg早就支持原生分区的使用方法,但是在性能上一直并不理想,尤其是分区很多的情况,这一情况在pg12得到了极大的改善,之前分区表大多要借助于pg_pathman这个开源插件。 pg_pathman与传统的继承分区表做法有一个不同的地方,分区的定义存放在一张元数据表中,表的信息会cache在内存中,同时使用HOOK来实现RELATION的替换,所以效率非常高。 目前支持两种分区模式,range和h
转载
2024-04-08 21:15:25
126阅读
目录环境文档用途详细信息环境系统平台:N/A版本:10.0,9.6,8.4文档用途本文旨在用于指导数据分区和数据分区方法。详细信息什么是数据分区? 对于具有极大表的数据库,分区对于数据库设计人员而言是一种惯用的技巧,可以提高数据库性能并使维护更加容易。PostgreSQL数据库中允许的最大表大小为32TB,但是除非它将来在未发明的计算机上运行,否则性能问题可能出现在仅达到总大小的百分之一也就是30
转载
2024-04-08 22:28:28
56阅读
触发器经常用于加强数据的完整性约束和业务规则上的约束等
一、触发器概述触发器是一种由事件自动触发执行的特殊存储过程,这些事件可以是对一个表进行 INSERT、UPDATE、DELETE 等操作触发器经常用于加强数据的完整性约束和业务规则上的约束等二、创建触发器的步骤先为触发器建一个执行函数,函数的返回类型为触发器类型trigger,然后即可创建相应的触发
转载
2023-06-28 06:36:10
188阅读
1. 简介 查询计划是数据库系统根据查询语句生成的用于执行查询的内部表示,它描述了数据库系统对查询语句的执行步骤和操作顺序。执行计划是查询计划的实际执行结果,它展示了数据库系统在执行查询时的具体操作和资源消耗情况。在 PostgreSQL 中,查询计划和执行计划的分析是优化查询性能的关键环节。通过分析查询计划和执行计划,我们可以了解查询语句的执行过程、资源消耗情况以及可能的性能瓶颈,从而进行优化和
转载
2024-07-30 14:32:38
76阅读
# pg库架构:了解PostgreSQL数据库的内部结构
PostgreSQL,简称pg,是一个开源的关系型数据库管理系统,具有高度可扩展性和可定制性。在深入了解pg库架构之前,我们先来简单了解一下pg的基本概念。
## PostgreSQL基本概念
1. 数据库(Database):是一组相关的表的集合。
2. 表(Table):存储数据的组织形式,由列和行组成。
3. 列(Column)
原创
2024-06-10 04:57:10
214阅读
背景iOS系统iOS系统的UITableView自带了索引功能,但是实现的功能比较简单,仅仅支持,滑动索引视图来达到快速滑动UITableView的功能。微信微信的联系人的索引功能比系统索引效果好,前者在滑动索引视图时,会弹出一个指示器。指示器UI区域较大,展示了当前滑动到的索引位置文案,离用户滑动的区域有一定的距离,不会被手指遮挡,这个用户体检相当好。但是微信索引视图有一些小bug,这些bug我
摘要: 本文旨在帮助用户理解PostgreSQL的逻辑结构和权限体系,帮助用户快速的理解和管理数据库的权限。 逻辑结构 最上层是实例,实例中允许创建多个数据库,每个数据库中可以创建多个schema,每个schema下面可以创建多个对象。对象包括表、物化视图、操作符、索引、视图、序列、函数、... 等本文旨在帮助用户理解PostgreSQL的逻辑结构和权限体系,帮助用户快速的理解和管理数据
Postgres-XL是一个可横向扩展的开源数据库集群,基于Postgres-XC,而Postgres-XC又是基于PostgreSql。PostgreSQL许可证是一种自由开源许可证,类似于BSD或MIT许可证。Postgres-XL功能:数据库集群;可横向扩展;提供多种表分片策略;采用MPP架构模式(OLAP),可以与OLTP混合使用。 Postgres-XL特性:可横向扩展的关
转载
2024-10-17 17:03:48
75阅读
1、timestamp 有分时区和无时区(减少使用),8个字节,包含日期和时间,范围是:公元前4713 - 公元294276。底层存储的是时间戳,这对任何地区的都一样,而具体时间显示则可从数据库层面设置时区、加字段设置时区、取数据转化时区、取出后在代码层转化时区。 自动更新时间: 1、触发器 create or replace function upd_timestamp() returns
转载
2024-03-26 10:06:57
662阅读
PostgreSQL CPU占用100%性能分析及慢查询优化 pg_stat_statements,查看连接数pg_stat_activity视图,(Table Scan)查看连接数变化追踪慢SQL1、第一种方法是使用pg_stat_statements插件定位慢SQL,步骤如下。1.1 如果没有创建这个插件,需要手动创建。我们要利用插件和数据库系统里面的计数信息(如SQL执行时间累积等),而这
转载
2024-02-28 13:56:22
148阅读
PostgreSQL系统概述_PG数据库内核分析学习笔记PG简介和发展历程PG以一种先进的对象-关系数据库管理系统(ORDBMS), 它不仅支持关系数据库的各种功能, 而且还具备类, 继承等对象数据库的特征. 它是目前功能最强大, 特性最丰富的和结构最复杂的开源数据库管理系统, 其中有些特性甚至连商业数据库都不具备.什么是对象数据库?面向对象数据库系统(OODBS)支持定义和操作OODB,应满足两
转载
2024-04-30 19:46:07
31阅读
Pg权限分为两部分,一部分是“系统权限”或者数据库用户的属性,可以授予role或user(两者区别在于login权限);一部分为数据库对象上的操作权限。对超级用户不做权限检查,其它走acl。对于数据库对象,开始只有所有者和超级用户可以做任何操作,其它走acl。在pg里,对acl模型做了简化,组和角色都是role,用户和角色的区别是角色没有login权限。 可以用下面的命令创建和删除
转载
2024-05-26 16:14:01
181阅读
PostgreSQL的实例管理(四)1. pg_ctl1.1. 关闭实例2. 数据库实例基本配置2.1. 配置文件postgresql.conf2.2. 数据库访问认证pg_hba.conf2.3. 免密配置文件( .pgpass )3. pg_controldata 1. pg_ctl# PG的启动/停止/查状态/重启/重新加载配置
pg_ctl start/stop/status/rest
转载
2024-07-29 15:25:12
144阅读
1、背景:索引是提高数据库性能的常用途径。使用索引可以让数据库服务器更快找到并获取特定行。但是索引同时也会增加数据库系统的日常管理负担,因此如何正确的使用索引是每个数据库使用人员都关心的事情。 PostgreSQL中索引类型很多,并且开放了索引接口,这就允许用户可以自定义索引类型,使得PG支持非常丰富的索引方法。例如btree , hash , gin , gist , sp-gist , bri
转载
2024-03-18 21:48:39
82阅读
--查看表空间
select * from pg_tablespace;
--查看语言
select * from pg_language;
--查看角色用户
select * from pg_user;
select * from pg_shadow;
select * from pg_roles;
--查看会话进程
select *
转载
2024-08-15 15:00:07
907阅读
作者:瀚高PG实验室 (Highgo PG Lab)- Kalath 我们可以通过GRANT和REVOKE命令来分别的添加或撤销模式中的相应权限。 我们先来看一下撤销权限命令的相关操作: 这条命令中,我们移除了public模式中的CREATE权限。注意,我们使用了两个public,分别为一个大写和一个小写。小写的public指的是模式,实际使用中可以被替换为数据库中其他任意有效的模式名。 而大写的