Postgresql介绍
文章平均质量分 90
浩澜大大
这个作者很懒,什么都没留下…
展开
-
PostgreSQL查询语句执行过程
PostgreSQL查询语句执行过程一、背景为了分析postgresql代码,了解其执行查询语句的过程,我采用eclipse + gdb集成调试环境,在客户端执行一个查询语句,观察分析其执行流程及重要数据结构变化中数据。二、环境准备参考文章:使用eclipse调试分析PostgreSQL11查询执行流程Postgresql 执行insert、delete、update、select都是通过postgres.c里面的exec_simple_query方法,其基本流程是启动.转载 2021-01-21 10:01:02 · 2989 阅读 · 0 评论 -
Postgresql 源码分析——sql执行流程
每种数据库都有自己的SQL执行流程图,PostgreSQL也不例外。下面这张图基本上概括了PG处理SQL的整个逻辑。我下面分开来细讲一下:1.MainMain是整个后台的入口,基本上不处理任何逻辑,只是简单的分发处理逻辑。但是像检查当前用户是否是”root”,还是会做的。因为我们知道,root用户是不能起动PG server的。2.Postmaster著名的postmaster 后台进程就是由此代码实现的。这个代码封装了PG所有后台进程的入口。这里为什么只是说“入口”呢,因为实.转载 2021-01-14 19:58:03 · 1588 阅读 · 0 评论 -
Postgresql源码分析——目录分析
Postgresql版本:13.1Postgresql目录结构为:其中存放源代码的目录为:src目录。具体目录作用如下:aclocal.m4:config 用的文件的一部分,包含.m4文件config.log:config定义文件configure:configure 文件configure.in:configure 文件的雏形COPYRIGHT:版权信息GUNMakefile:第一级目录的 MakefileGUNMakefile.in:Makefile 的雏形.原创 2021-01-12 17:05:07 · 1652 阅读 · 0 评论 -
Postgresql数据库介绍15——客户端认证
客户端认证当一个客户端应用连接数据库服务器的时候,它需要指定将以哪个PostgreSQL数据库的用户名进行连接,就像我们用指定的用户去登陆一台Unix。在SQL环境中,活跃的数库用户名确定了数据库对象的访问权限--请参阅第二十章获取更多的信息。因此,我们只需要限制用户可以连接的数据库。 注意:正如在第二十章所述,PostgreSQL其实是用角色进行权限管理,在这一章节,我们用从数据库用户的角度来讲“角色的登录权限”。认证是数据库服务器建立客户端的标识,然后通过某种方法确定是否允许客户转载 2021-01-27 11:10:56 · 890 阅读 · 1 评论 -
Postgresql数据库介绍14—— 服务器配置
服务器配置目录1 设置参数2 文件位置3 链接和授权3.1 链接设置3.2安全和授权4 资源消耗4.1 内存4.2 内核资源使用4.3 cost-based vacuum delay4.4 后端写进程4.5 非同步行为5 撰写头文件日志5.1 设置5.2 检验点5.3 归档5.4 流式复制5.5 非同步复制5.6 备份服务器6 查询设计6.1 设计方法配置6.2 设计cost 常量6...转载 2021-01-27 11:01:31 · 1223 阅读 · 0 评论 -
Postgresql数据库介绍13——服务器设置
服务器设置和操作1 PostgreSQL 用户帐号和可从外界访问的任何一种服务器守护一样,建议在一个独立的用户帐号下运行PostgreSQL。该用户帐号应该仅拥有由服务器管理的数据,并且不应该与其他守护进程共享。(例如,使用nobody是一个坏主意)。我们不建议安装由该用户拥有的可执行文件,因为受损的系统可能会修正它们自己的二进制文件。要在您系统上增加一个Unix用户帐号,参考命令useradd或adduser。经常使用用户名postgres,并且本书都假设用此名,但是您可以选择您喜欢的..转载 2021-01-27 10:50:05 · 873 阅读 · 0 评论 -
Postgresql数据库介绍12——安装
WINDOWS下用源码安装对于需要在windows下安装PostgreSQL的大多数普通用户来说,推荐从官方网站下载一键式安装包进行安装。源代码安装主要是面向PostgreSQL的开发人员,或者是PostgreSQL相关扩展的开发人员。在windows中有多种方法建立编译安装PostgreSQL,用对于微软工具的话,最简单的编译方法是安装一个最新版本的微软平台SDK,并且使用其自带的编译器进行编译。也可以用Visual C++2005或2008来编译安装。在一些情况下,除了编译器还要安装SDK平台.转载 2021-01-27 10:41:38 · 946 阅读 · 0 评论 -
Postgresql数据库介绍12——安装
指令步骤./configuregmakesugmake installadduser postgresmkdir /usr/local/pgsql/datachown postgres /usr/local/pgsql/datasu - postgres/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data &.转载 2021-01-27 10:15:18 · 1380 阅读 · 0 评论 -
Postgresql数据库介绍11——使用
并发控制l这一章节主要描述当两个或更多的会话视图在同时访问相同数据时PostgreSQL数据库的行为机制.在这种情况下系统行为的目标是即保证所有会话有效地读取数据又能保证严格的数据完整性.每一个应用开发者必须对本章所描述的主题很熟悉.简介PostgreSQL给开发者提供了丰富地管理数据并发操作的工具集. 在其内部, 数据并发维护是使用多版本并发控制(Multiversion Concurrency Control, MVCC)模型来维护的. 这也就意味着当查询数据库时每个事务看到的都是一个之前数转载 2021-01-25 11:07:20 · 998 阅读 · 0 评论 -
Postgresql数据库介绍10——使用
索引(Indexes)Indexes are a common way to enhance database performance. An index allows the database server to find and retrieve specific rows much faster than it could do without an index. But indexes also add overhead to the database system as a whole, so转载 2021-01-22 14:48:00 · 561 阅读 · 0 评论 -
Postgresql数据库介绍9——使用
类型转换(Type Conversion)SQL statements can, intentionally or not, require the mixing of different data types in the same expression.PostgreSQL has extensive facilities for evaluating mixed-type expressions.In many cases a user does not need to understan转载 2021-01-22 14:46:39 · 1005 阅读 · 0 评论 -
Postgresql数据库介绍8——使用
函数和操作(Functions and Operators)逻辑操作符(Logical Operators)The usual logical operators are available:AND OR NOT SQL uses a three-valued Boolean logic where the null value represents "unknown". Observe the following truth tables: 函数和操作(Functions and O转载 2021-01-22 14:45:14 · 361 阅读 · 0 评论 -
Postgresql数据库介绍7——使用
查询(Queries)概述(Overview)The process of retrieving or the command to retrieve data from a database is called a query. In SQL the SELECT command is used to specify queries. The general syntax of the SELECT command is 用一条命令从一个数据库里取得数据称作查询,[WITH with_quer转载 2021-01-22 14:10:25 · 938 阅读 · 0 评论 -
Postgresql数据库介绍6——使用
数据处理(Data Manipulation)插入数据(Inserting Data)在创建完一个表的时候,它里面没有数据。在数据库使用前要做的第一件事就是向里面插入数据。数据在概念上是每次插入一行。当然可以每次插入多行,但是每次插入都不能小于一行的数据。即使你只知道几个字段的数值,数据库也将创建一个完整的新行。使用 INSERT 命令创建一个新行。这条命令要求提供表名字以及表中每个字段的值。比如,假设来Chapter 5的产品表:CREATE TABLE products ( p转载 2021-01-22 14:08:48 · 165 阅读 · 0 评论 -
Postgresql数据库介绍5——使用
数据定义(Data Definition)本章介绍如何创建一个保存数据的数据库结构。在关系型数据库里,裸数据是存储在表中的,因此本章的大部分内容都将用于介绍如何创建表以及如何修改他们,以及在控制表中存储的数据上有什么可以获得的特性。随后,我们讨论表是如何组织成模式的,以及如何给表赋予权限。最后,我们将简单查看一下影响数据存储的其它因素,比如继承、视图、函数、触发器。表的基础 (Table Basics)关系型数据库中的表非常类似纸面上的一张表:它由行和列组成。字段的数目是固定的,每个字段都有一个转载 2021-01-22 11:28:26 · 623 阅读 · 0 评论 -
Postgresql数据库介绍4——使用
SQL语句( The SQL Language)本章描述PostgreSQL中的 SQL 的语法。 我们开始描述SQL的主要语法,这些内容是理解随后各章的基础,在那些章里面将详细介绍 SQL 命令如何用于 定义和生成数据库,还有查询它们。中间部分列出了在SQL命令中的可用的数据类型和函数。剩下的部分有几个问题,关于一个数据库的最佳性能。这一部分的信息是这样安排的:新手可以从头读到尾, 便可以获取有关主题的完整了解,而不需要向前 引用太多的次数。 里面的章节是设计成自包含的,这样高级用户就可以选择独立的转载 2021-01-22 10:35:37 · 1101 阅读 · 0 评论 -
Postgresql数据库介绍3——使用
3.1. 介绍在前面的章节中,我们介绍了使用 SQL 保存和访问在 PostgreSQL 里的数据的基本方法。 我们现在将讨论一些 SQL 更高级的特性,这些特性可以简化管理和避免你的数据的丢失或损坏。 最后,我们将看看一些PostgreSQL 的扩展。本章将不时引用在 Chapter 2 里建立的例子, 并且对它们进行修改和提高,因此如果你已经看过那章会更好。 本章的一些例子也可以在教程目录里的 advanced.sql 文件里找到。 这个文件还包括一些要装载的例子数据,这些数据在这里没有介...转载 2021-01-22 10:21:10 · 290 阅读 · 0 评论 -
Postgresql数据库介绍2——使用
2.1.介绍本章是一个如何使用 SQL 执行简单操作的概述。 本教程的目的只是给你一个介绍,并非完整的 SQL 教程。有许多关于 SQL 的书,包括 Understanding the New SQL 和 A Guide to the SQL Standard。你需要知道的是有些PostgreSQL语言特性是对标准的扩展。在随后的例子里,我们假设你已经创建了名为 mydb 的数据库,就象在前面的章里面介绍的一样,并且已经启动了 psql。本手册的例子也可以在PostgreSQL 源代码发布里的目转载 2021-01-22 10:15:53 · 267 阅读 · 0 评论 -
Postgresql数据库介绍1——使用
1.1安装不用说,在使用PostgreSQL之前你需要去安装它。如果PostgreSQL已经预装在你的操作系统或者系统管理员已经安装了它,你需要从操作系统的文档中或者是系统管理员那里得到如何访问PostgreSQL的信息。如果你不能确定PostgreSQL是否已经安装,或者安装好的PostgreSQL是否可以用,那么你可以自行安装它。PostgreSQL的安装并不是很难,安装本身还是个很好的锻炼机会。PostgreSQL 可以由无特权用户安装,不需超级用户(root)访问权限。如果你要自己安装P转载 2021-01-22 10:13:28 · 661 阅读 · 0 评论