- 博客(1040)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 Oracle的SQL*Plus命令
在设置为ON,再设置字符串时,则每次暂停都将显示该字符串。可对结果进行设置列的标题、定义输出值的显示格式和显示宽度、为报表增加头标题和底标题、在报表中显示当前日期和页号等。在一附加行上继续某个SQL*Plus命令时,SQL*Plus以该设置的字符序列进行提示。设置查询的行数,是SQL*Plus一次从数据库获取的行数,有效值为1到5000。控制START命令是否列出命令文件中的每一命令,若设置为ON时,则列出命令。显示SQL*Plus系统变量的值或SQL*Plus环境变量的值。调整列标题的对齐方式。
2023-03-15 13:42:44
1403
原创 Docker入门
关于Docker隔离和资源限定都是LXC(Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源。)做的,安全是用GRSec,镜像文件依赖于AUFS。Docker也可以被称为轻量级虚拟化技术。Docker是可移植的,可以在各种主流Linux发布版或Windows(需要使用boot2docker或者虚拟机)使用。Docker可以build once,run anywhere。Docker是一个能够把开发的应用程序自动部署到容器的开源引擎。
2021-09-18 16:56:20
541
转载 PostgreSQL配置参数data_directory_mode
参数名称 data_directory_mode 数据类型 integer 默认值 700 参数取值 参数含义 在linux/unix中显示data_directory参数值对应的目录的权限;在windows系统中,该本参数值总是显示为0700 参数确定时机 initdb时 是否可修改 不可修改,只读参数...
2021-06-10 15:18:45
532
翻译 52.1 前后端协议概览
协议对于启动和正常的操作是分段进行的。在启动阶段,客户端打开到服务端的连接,并进行认证。如果一切顺利,那么服务端会发送状态信息给客户端,然后进入正常操作阶段。除了刚开始的连接请求,本部分的协议均由服务端驱动。在正常操作阶段,客户端发送查询及其他命令给服务端,服务端返回查询结果及其他响应。本部分的大部分由客户端请求驱动。会话的中断一般由客户端发起,也可由服务端强制中断。在正常操作中,SQL命令可使用两个子协议中的一个执行。在简单查询协议中,客户端发送文本查询字符串,然后由服务端解...
2021-04-28 09:39:46
348
翻译 50.4. The PostgreSQL Rule System
50.4 PostgreSQL的规则系统PostgreSQL提供规则系统以规范视图和模糊视图的更新。PostgreSQL规则系统原生由两种实现方式组成: 第一个使用行级处理,在执行器内部实现。无论何时访问行,均调用规则系统。该实现方式在1995年遗弃。 第二个实现方式叫做查询重写。重写系统是介于解析阶段和计划器/优化器之间的一个模块。该方式仍在支持中。 查询重写在第40章介绍了。其输入及输出均为查询树。...
2021-04-26 14:15:00
316
翻译 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
247
翻译 50.2. How Connections Are Established
50.2连接是如何建立的PostgreSQL使用简单的每个用户一个进程的客户端/服务器模式。此模式下,每个客户端进行连接到一个服务端进程。因为不能预先知道有多少客户端连接,故而使用了一个主进程,然后每次有连接请求,就由主进程分一个新的服务进程给客户端连接。该主进程名为postgres,并监听特定的额TCP/IP端口。每当检测到连接请求,postgres会分出一个新的服务进程。服务进程间使用semaphores和共享内存交互以确保在并发数据访问时的数据完整性。客户端进程可以是任意符合Postg..
2021-04-26 13:34:13
328
翻译 50.1. The Path of a Query
50.1查询执行路径为获得结果集,查询所需要的经过的解析阶段: 建立从应用程序到PostgreSQL服务的连接。应用程序发送查询到数据库服务,并等待数据库服务发回查询结果。 解析阶段(parsestage)检查应用程序发送的查询的语法并生成查询树(querytree); 重写系统(rewritesystem)使用解析阶段生成的查询树,然后检索是否有需要应用到查询树的规则(存储在系统视图中)。如果有,根据规则改写。 重写系统的一个应用是视图(view)。当查询视...
2021-04-26 13:17:56
226
翻译 ABORT
中断当前事务。语法:ABORT [ WORK | TRANSACTION ] [ AND [ NO ] CHAIN ]描述:回滚事务。参数:AND CHAIN 如果指定该参数,新的事务立马以与刚结束事务的相同描述启动(参见SET TRANSACTION)。注意:使用COMMIT成功终止事务。示例:终止所有变化:ABORT;兼容性:此命令为兼容历史。 ROLLBACK为标准SQL命令。参见:BEGIN,COMMIT,ROLLBACK...
2021-04-21 09:15:44
637
翻译 第四十一章 程序语言
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
245
翻译 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
300
翻译 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
682
转载 PostgreSQL中的事件触发器
作者:瀚高PG实验室(HighgoPGLab) 丹心明月注:本文章主要翻译自《PostgreSQL 13.0 Documentation》第三十九章PostgreSQL还提供了事件触发器实现第38章探讨的触发器机制。与普通的触发器不同,事件触发器针对整个数据库,且可捕获DDL事件。事件触发器可使用具有事件触发器支持的过程语言或C编写,但不可使用纯SQL编写。39.1事件触发器概览事件触发器在相关事件发生时触发。当前,支持的事件有ddl_command_start,ddl_...
2021-04-06 11:25:49
983
转载 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
1308
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
301
翻译 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
468
翻译 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
282
翻译 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
333
翻译 第三十七章 扩展SQL
本章的接下来的小节,介绍如何通过添加以下内容扩展PostgreSQL的SQL查询语言: 函数 聚合 数据类型 操作符 索引的操作类型 相关对象的包 37.1扩展性如何工作PostgreSQL之所以可扩展,是因为其操作为系统表驱动的,而无需修改代码或加载第三方模块。37.2 PostgreSQL类型体系PostgreSQL的数据类型可分为基本类型、容器类型、域和伪类型。37.2.1基础类型就是那些在SQL语言以下(例如使用C)..
2021-03-22 13:52:55
238
翻译 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
1848
翻译 36.52. triggered_update_columns
标识当前数据库中由触发器指定的列的列表(例如UPDATE OFcolumn1,column2..)。
2021-03-17 16:26:18
113
DB2数据库所在磁盘丢失如何删掉数据库并恢复?
2015-12-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人