PostgreSQL的内存结构分为两种不同的类型,它们分别是本地内存和共享内存。它们的关系如下图所示: 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的内存结构 一、 本地内存 PostgreSQL的本地内存是指每个后台进程(backend process)自己使用的内存区域,下面列举了PostgreSQL中的本地内存以及它们的作用。 work_mem 使用
Greenplum本质上是一个基于PostgreSQL的关系型数据库集群,实际上是由多个独立的数据库服务组合而成的一个逻辑数据库。与Oracle的RAC不同,这种数据库集群采取的是MPP(Massively Parallel Processing,大规模并行处理)架构。Greenplum最大的特点就是基于低成本的开放平台基础上提供强大的并行数据计算性能和海量数据管理能力。下图展示了Greenpl
PostgreSQL中的WAL是Write Ahead Logging的缩写,即预写日志,它是保证数据完整性的一种标准方法。简单来说就是在PostgreSQL数据库中要对数据文件进行修改时必须先写入WAL日志信息,即当WAL日志记录完成了持久化,刷新到永久储存之后才能更改数据文件。根据这个原则就不需要在每次提交事务的时候都刷新数据到磁盘。因为当数据库出现宕机发生数据丢失时,可以重新执行WAL日志
由于PostgreSQL具有强大的功能和良好的可扩展性,因此基于PostgreSQL很容易就可以实现分布式架构。Citus便是具体的一种实现方式。它以扩展的插件形式与PostgreSQL进行集成,且独立于PostgreSQL内核,部署也比较简单。Citus是现在非常流行的基于PostgreSQL的分布式解决方案。 一、 Citus基础 下面是百度百科中对分布式数据库的定义: 分布式数据库系统通
在PostgreSQL数据库中,oracle_fdw是PostgreSQL数据库支持的外部扩展。通过使用oracle_fdw扩展可以读取到Oracle数据库中的数据。它是一种非常方便且常见的PostgreSQL与Oracle的同步数据的方法。使用oracle_fdw扩展需要依赖Oracle的Instance Client环境。 点击这里查看视频讲解:【赵渝强老师】在Postgre
通过使用file_fdw扩展使得PostgreSQL能够访问外部文件系统中的数据文件,同样通过使用postgres_fdw扩展可以使得PostgreSQL能够访问外部远端的PostgreSQL数据库中的数据。 点击这里查看视频讲解:【赵渝强老师】使用postgre_fdw访问外部PostgreSQL 下面通过具体的步骤操作来演示如何使用postgres_fdw扩展。 (1)
PostgreSQL的file_fdw扩展允许直接从数据库中来访问服务器的文件系统中的文件,而文件的格式要求为text、csv或者 binary。下面通过具体的操作来演示如何使用file_fdw扩展。 点击这里查看视频讲解:【赵渝强老师】在PostgreSQL中使用file_fdw访问外部文件系统 (1)进入PostgreSQL源码目录下的contrib/file_fdw目
在PostgreSQL中,创建数据库主要通过SQL命令“create database”完成。 点击这里查看视频讲解:【赵渝强老师】创建PostgreSQL的数据库 下面是具体的操作步骤。 (1)查询现有数据库的集合,可以检查系统目录pg_database。 postgres=# select datname from pg_database; # 输出的信息如下:
在PostgreSQL中,创建数据库时实际上通过拷贝一个已有数据库进行工作的。在默认情况下,将拷贝名为template1的标准系统数据库。所以该数据库是创建新数据库的“模板”。如果为template1数据库增加对象,这些对象将被拷贝到后续创建的用户数据库中。这种行为允许对数据库中标准对象集合的进行修改。例如,如果把过程语言PL/Perl安装到template1中,那么在创建用户数据库后不需要额外
PostgreSQL是最像Oracle的开源数据库,我们可以拿Oracle来比较学习它的体系结构,比较容易理解。PostgreSQL的主要结构如下: 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的体系架构 一、存储结构 PG数据存储结构分为:逻辑存储结构和物理存储存储。其中:逻辑存储结构是内部的组织和管理数据的方式;物理存储结构是操作系统中组织和管理数据的
PostgreSQL数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。下面重点讨论一下PostgreSQL的数据文件。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的数据文件 顾名思义,数据文件用于存储数据,文件名以oid命名。对于超出1G的数据文件,PostgreSQL会自动将其拆分为多个文件来
在PostgreSQL中,数据库在逻辑上分成多个存储单元,该单元称作表空间。表空间用作把逻辑上相关的数据结构放在一起。数据库逻辑上是由一个或多个表空间组成。在数据库初始化的时候,会自动创建pg_default和pg_global两个表空间。其中: pg_global:该表空间用于存放系统表。 pg_default:创建表时的默认表空间,该表空间的物理文件存储在数据目录中的base目录中,如:/
PostgreSQL数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。下面重点讨论一下PostgreSQL的服务器日志文件。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的服务器日志文件 通过使用pg_ctl命令启动PostgreSQL数据库实例时,通过指定-l参数来指定PostgreSQL的服务
PostgreSQL的逻辑存储结构主要是指数据库中的各种数据库对象,包括:数据库集群、数据库、表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在pg_database,pg_class表中。下图展示了PostgreSQL数据库的逻辑存
在PostgreSQL中,所有的数据库对象都是属于模式中的对象。这里的数据库对象包括:表、索引、视图、存储过程、触发器等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在pg_database,pg_class表中。 下面重点介绍一下Postg
PostgreSQL数据库的参数文件主要包括四个,它们分别是postgresql.conf、pg_hba.conf、pg_ident.conf和postgresql.auto.conf。下面将详细介绍这四个参数文件。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的参数文件 postgresql.conf 这是PostgreSQL的主要参数文件,文件中有很
PostgreSQL数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。下面重点讨论一下PostgreSQL的控制文件。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的控制文件 控制文件记录了数据库运行时的一些信息,比如数据库oid、是否是打开状态、WAL的位置、检查点的信息等等。PostgreSQ
PostgreSQL的逻辑存储结构主要是指数据库集群、数据库、表空间、段、区、块等;同时PostgreSQL的逻辑存储结构也包括数据库中的各种数据库对象,如:表、索引、视图等等。所有数据库对象都有各自的对象标识符oid(object identifiers),它是一个无符号的四字节整数,相关对象的oid都存放在相关的系统目录表中,比如数据库的oid和表的oid分别存放在pg_database,p
在PostgreSQL数据库服务器端安装配置完成以后,便可以使用客户端工具连接到服务器端进行数据库操作了。PostgreSQL支持多种客户端的连接,这里重点介绍psql和pgAdmin这两款PostgreSQL客户端工具的使用方法。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的客户端工具 一、命令行客户端psql psql是PostgreSQL自带的命令行客户
PostgreSQL在执行initdb的数据库集群初始化时会指定一个目录。该目录通过环境变量$PGDATA来表示。当数据库集群初始化完成后,会在这个目录生成相关的子目录以及一些文件。这些生成的文件就是PostgreSQL的物理存储结构中的文件。如下图所示。 如上图所示,环境变量$PGDATA指向的目录就是/home/postgres/training/pgsql/data。 下表说明了其中
PostgreSQL数据库的物理存储结构主要是指硬盘上存储的文件,包括:数据文件、日志文件、参数文件、控制文件、WAL预写日志文件等等。下面重点讨论一下PostgreSQL的WAL预写日志文件。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的WAL预写日志文件 WAL是Write Ahead Logging的缩写,即预写日志,它是保证数据完整性的一种标准方法。简
PostgreSQL能设计出利用多CPU让查询更快的查询计划。这种特性被称为并行查询。对于那些可以从并行查询获益的查询来说,并行查询带来的速度提升是显著的。很多查询在使用并行查询时比之前快了超过两倍,有些查询是以前的四倍甚至更多的倍数。那些访问大量数据但只返回其中少数行给用户的查询最能从并行查询中获益。 点击这里查看视频讲解:【赵渝强老师】PostgreSQL的并行查询
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号