自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

在路上

前行路上的精彩,只有在路上才能体会。

  • 博客(1038)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 Docker入门

关于Docker隔离和资源限定都是LXC(Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。)做的,安全是用GRSec,镜像文件依赖于AUFS。Docker也可以被称为轻量级虚拟化技术。Docker是可移植的,可以在各种主流Linux发布版或Windows(需要使用boot2docker或者虚拟机)使用。Docker可以build once,run anywhere。Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。

2021-09-18 16:56:20 91

转载 PostgreSQL配置参数debug_assertions

转自:https://www.pgfans.cn/a?id=947

2021-06-16 10:17:07 116

转载 PostgreSQL配置参数data_directory_mode

参数名称 data_directory_mode 数据类型 integer 默认值 700 参数取值 参数含义 在linux/unix中显示data_directory参数值对应的目录的权限;在windows系统中,该本参数值总是显示为0700 参数确定时机 initdb时 是否可修改 不可修改,只读参数...

2021-06-10 15:18:45 231

翻译 52.1 前后端协议概览

协议对于启动和正常的操作是分段进行的。在启动阶段,客户端打开到服务端的连接,并进行认证。如果一切顺利,那么服务端会发送状态信息给客户端,然后进入正常操作阶段。除了刚开始的连接请求,本部分的协议均由服务端驱动。在正常操作阶段,客户端发送查询及其他命令给服务端,服务端返回查询结果及其他响应。本部分的大部分由客户端请求驱动。会话的中断一般由客户端发起,也可由服务端强制中断。在正常操作中,SQL命令可使用两个子协议中的一个执行。在简单查询协议中,客户端发送文本查询字符串,然后由服务端解...

2021-04-28 09:39:46 149

翻译 50.4. The PostgreSQL Rule System

50.4 PostgreSQL的规则系统PostgreSQL提供规则系统以规范视图和模糊视图的更新。PostgreSQL规则系统原生由两种实现方式组成: 第一个使用行级处理,在执行器内部实现。无论何时访问行,均调用规则系统。该实现方式在1995年遗弃。 第二个实现方式叫做查询重写。重写系统是介于解析阶段和计划器/优化器之间的一个模块。该方式仍在支持中。 查询重写在第40章介绍了。其输入及输出均为查询树。...

2021-04-26 14:15:00 86

翻译 50.3. The Parser Stage

50.3解析阶段解析阶段包含两部分: 在gram.y和scan.l中定义的解析器使用unix工具bison和flex构建; 转换进程(transformationprocess)对解析器返回的数据结构进行更新和扩充; 50.3.1解析器解析器需要检查查询字符串(即客户端发送来的纯文本)的语法。如果语法正确,则会创建并返回解析树;否则报错。解析器和词法分析器使用unix工具bison和flex实现。词法分析器在文件scan.l中定义,用以识别限定符、SQL关键词等。...

2021-04-26 14:05:32 69

翻译 50.2. How Connections Are Established

50.2连接是如何建立的PostgreSQL使用简单的每个用户一个进程的客户端/服务器模式。此模式下,每个客户端进行连接到一个服务端进程。因为不能预先知道有多少客户端连接,故而使用了一个主进程,然后每次有连接请求,就由主进程分一个新的服务进程给客户端连接。该主进程名为postgres,并监听特定的额TCP/IP端口。每当检测到连接请求,postgres会分出一个新的服务进程。服务进程间使用semaphores和共享内存交互以确保在并发数据访问时的数据完整性。客户端进程可以是任意符合Postg..

2021-04-26 13:34:13 79

翻译 50.1. The Path of a Query

50.1查询执行路径为获得结果集,查询所需要的经过的解析阶段: 建立从应用程序到PostgreSQL服务的连接。应用程序发送查询到数据库服务,并等待数据库服务发回查询结果。 解析阶段(parsestage)检查应用程序发送的查询的语法并生成查询树(querytree); 重写系统(rewritesystem)使用解析阶段生成的查询树,然后检索是否有需要应用到查询树的规则(存储在系统视图中)。如果有,根据规则改写。 重写系统的一个应用是视图(view)。当查询视...

2021-04-26 13:17:56 64

翻译 ABORT

中断当前事务。语法:ABORT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]描述:回滚事务。参数:AND CHAIN 如果指定该参数,新的事务立马以与刚结束事务的相同描述启动(参见SET TRANSACTION)。注意:使用COMMIT成功终止事务。示例:终止所有变化:ABORT;兼容性:此命令为兼容历史。 ROLLBACK为标准SQL命令。参见:BEGIN,COMMIT,ROLLBACK...

2021-04-21 09:15:44 201

翻译 第四十一章 程序语言

PostgreSQL支持使用除SQL和C之外的语言编写用户自定义函数。其他语言一般称作程序语言(PLs)。对于以程序语言编写的函数,数据库服务器并未内置解析器。故需特殊的处理器进行处理。该处理器为编译为共享对象的C语言函数,并按需加载。当前,PostgreSQL支持4种程序语言:PL/pgSQL(第42章),PL/Tcl(第43章),PL/Perl(第44章)和PL/Python(第45章)。其他可用语言参见附录H。自定义新语言请参见第55章。41.1安装程序语言如果使用程序语言,需要将..

2021-04-07 14:06:27 77

翻译 40.3. Materialized Views

40.3物化视图物化视图与视图类似,也适用规则系统,不过物化视图保留结果集。CREATE MATERIALIZED VIEW mymatview AS SELECT * FROM mytab;与CREATE TABLE mymatview AS SELECT * FROM mytab;之间,最主要的区别是物化视图不可直接被更新,需要刷新物化视图数据:REFRESH MATERIALIZED VIEW mymatview;假设有表:CREATE TABLE invoi.

2021-04-07 09:09:15 74

翻译 40.1. The Query Tree

40.1查询树知道规则系统何时被调用及其输入输出对理解规则系统工作原理至关重要。规则系统位于解析器和计划器之间。它使用解析器的输出(查询树)和用户定义重写规则(也是一种带有额外信息的查询树)作为输入,输出0或多个查询树。何为查询树(querytree)呢?它是SQL语句的内部表示形式,其中构建它的单个部分是分开存储的。如果设置了debug_print_parse,debug_print_rewritten或debug_print_plan,则这些查询树可在数据库服务日志中看到。规...

2021-04-06 14:53:42 181

转载 PostgreSQL中的事件触发器

作者:瀚高PG实验室(HighgoPGLab) 丹心明月注:本文章主要翻译自《PostgreSQL 13.0 Documentation》第三十九章PostgreSQL还提供了事件触发器实现第38章探讨的触发器机制。与普通的触发器不同,事件触发器针对整个数据库,且可捕获DDL事件。事件触发器可使用具有事件触发器支持的过程语言或C编写,但不可使用纯SQL编写。39.1事件触发器概览事件触发器在相关事件发生时触发。当前,支持的事件有ddl_command_start,ddl_...

2021-04-06 11:25:49 531

转载 PostgreSQL中的触发器

作者:瀚高PG实验室(HighgoPGLab) 丹心明月注:本文章主要翻译自《PostgreSQL 13.0 Documentation》第三十八章本章介绍编写函数触发器的相关信息。触发器函数可使用大部分可用的过程语言编写,包括PL/pgSQL(参见第42章),PL/Tcl(参见第43章),PL/Perl(参见第44章),和PL/Python(参见第45章)。阅读完本章后,可根据自己的喜好,到相应章节查看对应语言编写触发器的具体细节。也可以使用C语言编写触发器,不过使用过程语言更简...

2021-04-05 23:11:52 599 1

翻译 37.12. User-Defined Aggregates

37.12自定义聚合PostgreSQL中的聚合函数用以处理静态数据。为定义新的聚合函数,需要指定静态值的数据类型,初始值以及值转换函数。 CREATE AGGREGATE37.12.1移动聚合模式聚合函数可以选择性地支持移动聚合模式,这种模式可在很大程度上提高具有移动帧起点的窗口中执行的聚合函数的速度。37.12.2多态和可变参聚合聚合函数可使用多态状态转换函数或最终函数,以使相同函数可用于实现多个聚合函数。37.12.3排序集聚合PostgreSQL也支持排序集聚合,...

2021-04-01 09:48:22 93

翻译 37.10. C-Language Functions

37.10 C语言函数用户自定义函数可使用C语言(或与其兼容的语言,例如C++)编写。37.10.1动态加载使用CREATE FUNCTION命令创建的用户自定义C函数需要指定两个部分的信息:加载的对象文件名以及在对象文件中的函数的C名称。37.10.2 C语言函数中的基本类型在内部,PostgreSQL将基本类型看做“内存中的blob”。基本类型可使用以下三种内部格式的一种: 传递值,固定长度; 传递引用,固定长度; 传递引用,变长; C数据类..

2021-03-31 14:18:01 154

翻译 37.6-37.9

37.6函数重载只要参数不同,即可命名相同名称的函数。示例:CREATE FUNCTION test(int, real) RETURNS ...CREATE FUNCTION test(smallint, double precision) RETURNS ...37.7函数易变种类每个函数都有易变级别,可用值有VOLATILE,STABLE,IMMUTABLE。默认为VOLATILE。 VOLATILE:可做包含更改数据库在内的所有操作; STABLE:不可更改...

2021-03-24 09:18:33 73

翻译 37.5. Query Language (SQL) Functions

37.5查询语言(SQL)函数SQL函数执行一组SQL语句列表,并返回里列表中最后一个查询的结果。示例函数:CREATE FUNCTION clean_emp() RETURNS void AS 'DELETE FROM empWHERE salary < 0;' LANGUAGE SQL;SELECT clean_emp();clean_emp-----------(1 row)37.5.1 SQL函数的参数SQL函数的参数可以在函数体中使用名称或.

2021-03-23 16:28:44 112

翻译 第三十七章 扩展SQL

本章的接下来的小节,介绍如何通过添加以下内容扩展PostgreSQL的SQL查询语言: 函数 聚合 数据类型 操作符 索引的操作类型 相关对象的包 37.1扩展性如何工作PostgreSQL之所以可扩展,是因为其操作为系统表驱动的,而无需修改代码或加载第三方模块。37.2 PostgreSQL类型体系PostgreSQL的数据类型可分为基本类型、容器类型、域和伪类型。37.2.1基础类型就是那些在SQL语言以下(例如使用C)..

2021-03-22 13:52:55 87

翻译 CREATE DOMAIN

CREATE DOMAIN:定义新域。语法:CREATE DOMAIN name [ AS ] data_type[ COLLATE collation ][ DEFAULT expression ][ constraint [ ... ] ]where constraint is:[ CONSTRAINT constraint_name ]{ NOT NULL | NULL | CHECK (expression) }描述:CREATE DOMAIN创建一个新的域。域本质上是

2021-03-19 14:50:36 873

翻译 36.62. views

当前数据库中定义的所有视图。

2021-03-17 16:41:39 51

翻译 36.61. view_table_usage

视图所使用的所有表。(不含系统表。)

2021-03-17 16:40:06 60

翻译 36.60. view_routine_usage

视图所用的所有函数和存储过程。

2021-03-17 16:38:38 86

翻译 36.59. view_column_usage

视图使用的所有列。

2021-03-17 16:37:23 68

翻译 36.58. user_mappings

当前数据库中的所有用户映射。

2021-03-17 16:35:50 46

翻译 36.57. user_mapping_options

当前数据库中用户映射的所有选项。

2021-03-17 16:34:49 100

翻译 36.56. user_defined_types

当前数据库中定义的所有复合类型。

2021-03-17 16:33:21 51 1

翻译 36.55. usage_privileges

多种对象的USAGE权限授予。

2021-03-17 16:31:41 78

翻译 36.54. udt_privileges

标识用户自定义类型的USAGE权限授予。

2021-03-17 16:29:49 47

翻译 36.53. triggers

当前数据库中所有触发器。

2021-03-17 16:27:42 66

翻译 36.52. triggered_update_columns

标识当前数据库中由触发器指定的列的列表(例如UPDATE OFcolumn1,column2..)。

2021-03-17 16:26:18 64

翻译 36.51. transforms

在当前数据库中定义的所有转换(transform)。

2021-03-17 16:22:37 53

翻译 36.50. tables

当前数据库中的所有表和视图。

2021-03-17 16:19:53 64

翻译 36.49. table_privileges

表或索引的所有授权。

2021-03-17 16:18:33 92

翻译 36.48. table_constraints

所有约束。

2021-03-17 16:17:33 67

翻译 36.47. sql_sizing

PostgreSQL中大小限制及最大值等信息。

2021-03-17 16:16:24 50

翻译 36.46. sql_parts

PostgreSQL支持的SQL标准部分。

2021-03-17 16:14:50 66

翻译 36.45. sql_implementation_info

包含有关SQL标准在实现上定义的各个方面的信息。

2021-03-17 16:13:45 55

翻译 36.44. sql_features

包含PostgreSQL中支持的SQL标准特性信息。

2021-03-17 16:11:27 79

翻译 36.43. sequences

当前数据库中定义的所有序列。

2021-03-17 16:09:00 62

RHEL7.1安装文档

本文档记录了自己安装RHEL7.1的过程,适合第一次学习安装的初学者参考。

2016-02-24

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除