自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

在路上

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

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

翻译 第三十六章 信息模式

信息模式中包含一些含有当前数据库中对象信息的视图。36.1模式信息模式是名为information_schema的模式。默认,信息模式不在模式检索路径中,所以访问模式下对象时需要指定模式名称。36.2数据类型信息模式视图的列使用了在信息模式中定义的特殊数据类型。类型有: cardinal_number character_data sql_identifier time_stamp yes_or_no ...

2021-03-17 13:32:53 209

翻译 35.6-35.16

35.6pgtypes库pgtypes库对PostgreSQL数据类型与C数据类型进行匹配。也提供了一些简单的函数进行一些基础的加法计算。示例:EXEC SQL BEGIN DECLARE SECTION;date date1;timestamp ts1, tsout;interval iv1;char *out;EXEC SQL END DECLARE SECTION;PGTYPESdate_today(&date1);EXEC SQL SELECT star.

2021-03-17 11:22:12 368

翻译 第三十五章 ECPG-C中的嵌入式SQL

本章介绍PostgreSQL的嵌入式SQL包。最初它是为了与C一起工作而编写的。它也能与C++配合,但是它还不识别所有的C++结构。35.1概念嵌入式SQL程序由编程语言(C)编写的代码混合特殊标记的SQL命令而成。35.2管理数据库连接本节介绍如何打开、关闭和转换数据库连接。35.2.1连接到数据库服务使用以下语句连接到数据库服务:EXEC SQL CONNECT TO target [AS connection-name] [USER user-name];35.2...

2021-03-16 10:36:13 650

翻译 第三十四章 大对象

PostgreSQL中有大对象工具,可以提供对大对象架构数据的流式访问。流式访问在处理大数据值时很有用。本章介绍PostgreSQL大对象数据的实现、编程及查询语言接口。本章中示例使用libpq C库,但PostgreSQL原生支持的编程接口可实现等效功能。其他接口可能在内部使用大对象接口来提供对大数据的通用支持,但这里不涉及。34.1介绍所有大对象存储在pg_largeobject中。每个大对象在pg_largetobject_metadata中也有记录。大对象可使用类似于文件操作的读..

2021-03-15 10:11:51 143

翻译 33.5-33.21章节

暂不深入研究。33.5按行检索查询结果PQsetSingleRowMode33.6取消正在进行的查询PQgetCancelPQfreeCancelPQcancelPQrequestCancel33.7快速路径界面PostgreSQL提供了快速路径界面发送简单函数调用给数据库服务。PQfn33.8异步通知PostgreSQL通过命令LISTEN和NOTIFY提供异步通知。PQnotifies33.9与COPY有关的函数PostgreSQL中...

2021-03-12 10:57:29 344

翻译 33.4. Asynchronous Command Processing

33.4异步命令处理PQexecPQsendQuery 提交命令,不等待结果。PQsendQueryParamsPQsendPreparePQsendQueryPreparedPQsendDescribePreparedPQsendDescribePortalPQgetResultPQconsumeInputPQisBusyPQsetnonblockingPQisnonblockingPQflush...

2021-03-11 11:06:10 115

翻译 33.3. Command Execution Functions

33.3命令执行函数一旦与数据库服务的连接成功建立,则可使用以下函数执行SQL查询和命令。33.3.1主要函数PQexec 提交命令并等待结果。PGresult *PQexec(PGconn *conn, const char *command);PQexecParams 提交命令并等待结果,且可从SQL命令发送参数。PGresult *PQexecParams(PGconn *conn,const char *command,int nParams,...

2021-03-11 11:00:00 258

翻译 33.2. Connection Status Functions

33.2连接状态函数这些函数可用作查看当前数据库连接对象的状态。以下函数返回连接时的参数值。PQdb 返回连接的数据库名。char *PQdb(const PGconn *conn);PQuser 返回连接的用户名。char *PQuser(const PGconn *conn);PQpass 返回连接的密码。char *PQpass(const PGconn *conn);PQhost 返回连接的主机名。char *PQho...

2021-03-10 11:22:00 139

翻译 33.1.2. Parameter Key Words

33.1.2参数关键词当前参数关键词有:host 连接的主机名。逗号分隔。hostaddr 连接的IP地址。port 端口号。dbname 数据库名。user 连接的PostgreSQL用户名。password 密码。passfile 存储密码的文件名。channel_binding 控制客户端对通道绑定的使用。connect_timeout 连接超时时间。client_e...

2021-03-10 10:59:55 149

翻译 33.1.1. Connection Strings

33.1.1连接串一些libpq函数通过解析用户定义的字符串以获取连接参数。有两种格式:简单的keyword=value串以及URI。33.1.1.1关键词/值连接串示例:host=localhost port=5432 dbname=mydb connect_timeout=1033.1.1.2连接URI一般格式:postgresql://[user[:password]@][netloc][:port][,...][/dbname][?param1=value1&amp...

2021-03-10 10:40:36 118

翻译 第三十三章 libpq — C库

libpq为PostgreSQL的C应用程序编程接口。libpq是可允许客户端向PostgreSQL后台进程发送查询并获取查询结果的一组库函数。本章末尾也有对于libpq的使用示例。源码的src/test/examples中也有几个使用libpq的完整示例。使用libpq的客户端程序必须包含libpq-fe.h头文件,且必须连接到libpq库。33.1数据库连接控制函数以下函数用以处理与PostgreSQL后台进程的连接。每个链接由PGconn对象表示,其来自函数PQconnectdb,..

2021-03-10 10:10:24 1664

翻译 第三十二章 回归测试

32.1运行测试回归测试可在已安装的数据库服务器运行或仅使用构建树的临时安装。而且,测试有并行和串行模式。32.1.1在临时安装运行测试在构建后但是安装前进行并行回归测试,在最顶层目录(或在src/test/regress)使用:make check测试最后可看到:=======================All 193 tests passed.=======================不要使用root进行构建(build),或者在安装完成后进行测试。...

2021-03-09 17:18:01 283

翻译 第三十一章 即时编译

本章介绍何为即时编译以及如何在PostgreSQL进行配置。31.1何为即时编译即时(Just-In-Time,JIT)编译是将某种形式的解释程序计算转变成原生程序的过程,并且这一过程是在运行时完成的。例如,与使用能够计算任意SQL表达式的通用代码来计算一个特定的SQL谓词(如WHERE a.col = 3)不同,可以产生一个专门针对该表达式的函数并且可以由CPU原生执行,从而得到加速。PostgreSQL对即时编译有使用LLVM的内置支持,不过需要在构建时使用--with-llvm选项..

2021-03-09 14:49:02 185

翻译 第三十章 逻辑复制

30.1发布发布可以理解为一个或一组表的数据变化。发布当前仅针对表。发布的变更数据可以是DML和truncate操作的任意组合,默认为全发布(DML和TRUNCATE)。对于UPDATE和DELETE操作,发布表必须有复制标识,默认为主键,也可以是唯一索引;如果都没有,可以设置为full,即所有列。使用ALTER TABLE的REPLICA IDENTITY设置复制标识;使用CREATE PUBLICATION创建发布;使用 ALTER PUBLICATION修改发布。30.2...

2021-03-09 13:14:39 483

翻译 第二十九章 可靠性与预写日志

本章说明如何使用预写日志来获得高效、可靠的操作。29.1可靠性ACID中的D。29.2预写日志(WAL)WAL用以确保数据的完整性。也是进行在线备份、高可用的前提。29.3异步提交异步提交是一个允许事务更快完成的选项,不过可能在数据库崩溃时丢失最近提交的事务。异步提交是指事务一旦在逻辑上完成,就立马返回提交完成信息;而不等待变更实际写入到磁盘。同步和异步提交可在事务级别设置(synchronous_commit)。29.4 WAL配置检查点相关参数:checkpoin...

2021-03-09 10:30:28 96

翻译 第二十八章 监控磁盘使用

本章介绍如何监控PostgreSQL数据库系统的磁盘使用。28.1确认磁盘使用可通过三种方式监控磁盘空间: 使用表9.90列出的函数; 使用oid2name模块; 手工查看系统视图; 查看表大小:SELECT pg_relation_filepath(oid), relpages FROM pg_class WHERE relname = 'customer';pg_relation_filepath | relpages------------------.

2021-03-08 19:00:55 136

翻译 第二十七章 监控数据库活动

本章介绍查看数据库在干什么的方法。27.1标准Unix工具ps:格式:postgres: user database host activity$ ps auxww | grep ^postgrespostgres 15551 0.0 0.1 57536 7132 pts/0 S 18:02 0:00 postgres -ipostgres 15554 0.0 0.0 57536 1184 ? Ss 18:02 0:00 postgres: background writerpos.

2021-03-08 17:45:33 320

翻译 第二十六章 高可用,负载均衡和同步复制

PostgreSQL可配置当主服务宕机后,备服务快速接手业务(高可用);或者允许多台计算机服务于相同数据(负载均衡);26.1不同解决方案对比共享磁盘故障转移 共享磁盘故障转移仅有一份数据库拷贝,从而避免同步消耗。多台计算机挂载同一共享盘。文件系统(块设备)同步 硬件镜像同步。WAL传输 通过应用WAL日志,物理备份。逻辑同步基于触发器的同步 例如Slony-l基于SQL的同步中间件 可将只读查询发送的某一数据库服务。异步多...

2021-03-08 11:45:47 230

翻译 25.3. Continuous Archiving and Point-in-Time Recovery (PITR)

25.3连续归档和时间点恢复(PITR)PostgreSQL总是在pg_wal目录下维护着WAL(预写日志)日志。日志记录了数据库中的所有变化。这些日志是出去崩溃安全目的而存在的:如果数据库或系统崩溃,数据库可以在启动时重演日志中最后一个检查点之后的内容,以使数据库保持一致。WAL日志的存在,给了我们一个新的备份策略可能:结合文件系统级别备份和WAL文件拷贝。如果需要恢复,则可以先还原文件系统备份,然后重新WAL文件至数据库最新状态。虽然比较复杂,但是优点也很突出: 无需完全一致的文件系统级别备.

2021-03-05 13:31:56 193

翻译 第二十五章 备份和恢复

有三种备份PostgreSQL数据的方式: SQLdump; 文件系统级别备份; 连续归档(continuousarchiving),增量备份; 各有其优缺点。25.1 SQLdump可使用dump文件恢复到备份时的数据状态。PostgreSQL提供 pg_dump实现此目的。其基本用法:pg_dump dbname > dumpfile使用-h host和-p port指定连接的服务器及端口。-U指定数据库用户名。pg_dump最大的优势...

2021-03-03 13:30:57 157

翻译 第二十四章 数据库日常维护任务

同许多其他数据库一样,PostgreSQL也需要定期执行一些任务以维护最佳运行。主要需要定期进行的任务: 定期备份数据库。相关信息可进一步参考第25章。 定期vacuum; 定期进行日志文件管理; 24.1日常vacuumPostgreSQL数据库需要定期进行vacuum。大部分情况下,进行autovacuum即可(参见第24.1.6节)。也可以使用VACUUM命令进行人工管理,然后使用cron等工具定期执行。24.1.1vacuum基础基于以下原因,...

2021-03-03 13:28:06 267

翻译 23.3. Character Set Support

23.3字符集支持PostgreSQL支持多种字符集。默认字符集在初始化群集的时候指定。可在创建数据库时重新指定,即可在同一群集中拥有不同字符集的数据库。23.3.1支持的字符集23.3.2设置字符集使用initdb为数据库群集指定默认字符集:initdb -E EUC_JP #或使用--encoding在创建数据库的时候指定字符集:createdb -E EUC_KR -T template0 --lc-collate=ko_KR.euckr --lcc...

2021-03-02 19:32:40 438

翻译 23.2. Collation Support

23.2.排序规则支持排序规则功能允许指定数据每个列甚至每个操作的排序顺序和字符分类行为。这减轻了数据库创建后不能更改LC_COLLATE和LC_CTYPE设置的限制。23.2.1概念理论上,每个可排序数据类型的表达式有一个排序规则。(内置排序数据类型有text,varchar和char。)23.2.2管理排序规则排序规则是一个SQL模式对象,它将SQL名称映射到操作系统中安装的库提供的语言环境。23.2.2.1标准排序规则default,C和POSIX排序规则在所有平台...

2021-03-01 22:46:44 270

翻译 23.1. Locale Support

23.1本地语言支持本地语言支持涉及字母、排序、数字格式等。PostgreSQL使用由数据库服务器提供的ISO C和POSIX本地语言特性。23.1.1概览本地语言支持在使用initdb创建数据库群集的时候自动初始化。默认会使用本地设置。如果需要使用与本地设置不同的选项,则需要在initdb的时候指定--locale选项,示例:initdb --locale=sv_SE控制本地某一特性的选项:注意一点,服务器本地语言行为由数据库服务端的环境变量控制,而非客户端的环境变量。..

2021-03-01 22:14:05 139

原创 第二十二章 管理数据库

每个PostgreSQL服务均可过了多个数据库。数据库为组织SQL对象(即数据库对象)的最上一级。本章介绍数据库属性以及如何创建、管理和删除数据库。22.1数据库管理概览一些数据库对象,比如角色、数据库和表空间,在数据库群集层面定义,并存储在pg_global下。群集内为各个数据库,他们之间相互独立,但均可访问群集级别的对象。数据库内是多个模式(schema),其下可包含如表、函数等对象。所以层级为:群集,数据库,模式,表及其他对象。数据库级别的安全有两个方面:访问控制(在连接时控制)和..

2021-02-26 13:14:56 129

翻译 第二十一章 数据库角色

PostgreSQL使用role(角色)管理数据库访问权限。角色可认为是数据库用户或一组数据库用户。本章介绍创建及管理角色,更多有关角色权限与数据库对象之间的关系,请参见第5.7节。21.1数据库角色数据库角色与操作系统用户完全不同。使用CREATE ROLE命令创建角色:CREATE ROLE name;使用DROP ROLE删除角色:DROP ROLE name;也可以从命令行执行相同效果的命令:createuser name;dropuser name;通过.

2021-02-25 22:04:05 940

翻译 20.3. Authentication Methods

20.3认证方法PostgreSQL提供多种认证方式: Trust认证:完全相信,不设防; Password密码认证:需要用户发送密码; GSSAPI认证:基于GSSAPI认证库。 SSPI认证:windows下的GSSAPI; Ident认证:依赖客户端的认证协议(RFC 1413). Peer认证:依赖于操作系统工具来识别本地连接另一端的进程。不支持远程连接。 LDAP认证,基于LDAP认证服务。 RADIUS认证,基于R.

2021-02-25 18:21:43 450

翻译 20.2. User Name Maps

20.2用户名映射当使用Ident或GSSAPI等外部认证系统时,连接使用的操作系统用户可能与要使用的数据库用户不同。这种情况下,可以使用用户名映射以进行操作系统用户与数据库用户的映射。通过在pg_hba.conf文件中指定map=map-name以进行用户名映射。用户名映射在文件pg_ident.conf中指定。格式:map-name system-username database-username示例:# MAPNAME SYSTEM-USERNAME PG-USERN..

2021-02-25 17:54:34 361

翻译 20.1. The pg_hba.conf File

20.1pg_hba.conf文件客户端认证一般由位于数据库数据目录下的pg_hba.conf文件控制。(HBA意为基于主机的认证,host-based authentication)。pg_hba.conf文件的格式为每行一个记录。忽略空行,#号后的整行为注释。使用第一条符合连接条件、客户端地址、数据库、用户名的认证信息。如果第一条认证失败,那就是失败了。格式可多样:local database user auth-method [auth-options]host da...

2021-02-25 17:40:58 168

翻译 19.18. Short Options

19.18环境变量缩写选项

2021-02-24 16:00:59 197

翻译 19.15. Preset Options

19.15预设选项以下参数为只读的,仅在编译或安装PostgreSQL时可调整。block_size(integer) 磁盘块大小。data_checksums(boolean) 是否开启数据校验和。更多信息请参见initdb的数据校验和部分。 data_directory_mode(integer) 数据目录权限;debug_assertions(boolean)integer_datetime(boolean)lc_collate(str...

2021-02-24 15:26:26 172

翻译 19.14. Error Handling

19.14错误处理exit_on_error(boolean) 如果设置为on,任何错误均会中断当前会话。默认为off。restart_after_crash(boolean) 默认为on,即PostgreSQL会在后台进程崩溃后自动重新进行初始化。data_sync_retry(boolean) 默认为off,即若刷新更新的数据文件到文件系统时出现问题,则会抛出PANIC级别的错误。...

2021-02-24 14:55:08 110

翻译 19.13. Version and Platform Compatibility

19.13版本和平台兼容19.13.1之前的PostgreSQL版本array_nulls(boolean) 控制是否识别未引起来的NULL为空数组元素,默认为on。但是因为PostgreSQL8.2之前的版本,不允许数组元素为空,故为兼容,可将其设置为off。backslash_quote(enum) 控制是否可以使用斜杠作为引号的逃逸符号。escape_string_warning(boolean) 若为on,则若字符中出现反斜杠,则抛出警告。lo_...

2021-02-24 14:44:05 92

原创 19.12. Lock Management

19.12锁管理deadlock_timeout(integer) 检查锁等待是否为死锁的等待时间。max_locks_per_transaction(integer) 该参数限定每个事务可持有的对象锁的数量。max_pred_locks_per_transaction(integer)max_pred_locks_per_relation(integer)max_pred_locks_per_page(integer)...

2021-02-23 22:25:29 164

原创 19.11. Client Connection Defaults

19.11客户端连接默认值19.11.1语句行为client_min_messages(enum) 控制发送到客户端的信息级别。可用值有:DEBUG5,DEBUG4,DEBUG3,DEBUG2,DEBUG1,LOG,NOTICE,WARNING和ERROR。默认为NOTICE。search_path(string) 该变量限定在使用无模式限定的对象时的检索顺序。row_security(boolean) 控制在使用行级安全策略的时候,是否抛出错误。设置为on...

2021-02-23 22:19:52 178

原创 19.10. Automatic Vacuuming

19.10 自动vacuum以下参数控制autovacuum特性。更多信息请参加第24.1.6节。请注意,以下参数大部分都可以在表级别单独定义,请参见 CREATE TABLE的存储参数部分。autovacuum(boolean) 是否运行autovacuum守护进程。默认为on。同时也需要开启track_counts。可对单表禁用。log_autovacuum_min_duration(integer) 超出限定时间的autovacuum记录到日志中。autovacu...

2021-02-23 20:57:52 223

原创 19.9. Run-time Statistics

19.9运行时统计信息19.9.1查询和索引统计信息收集以下参数控制数据库服务端的统计信息收集特性。在启用统计信息收集之后,生成的数据可从视图pg_stat和pg_statio中查看。更多信息,请参见第27章。track_activities(boolean) 启用每个会话灾害性命令的信息收集,含命令开始时的信息。track_activity_query_size(integer) 指定对每个活动会话记录执行命令文本的总保留内存大小。即pg_stat_activity...

2021-02-23 20:20:49 107 1

原创 19.8. Error Reporting and Logging

19.8错误报告及记录19.8.1 何处记录日志log_destination(string) PostgreSQL支持多种日志服务信息,包括stdeer,csvlog和syslog、eventlog(windows)。logging_collector(boolean) 启用日志收集(捕获日志信息的后台进程)。log_directory(string) 若启用了logging_collector,该参数限制日志文件创建目录。log_filename(st...

2021-02-23 19:57:09 223

原创 19.7. Query Planning

19.7执行计划19.7.1计划器方法配置这些配置参数提供影响查询优化器选择执行计划的方法。如果查询的执行计划不是最优,那么可临时使用以下参数强制使用不同的执行计划。不过,可通过以下方式优化执行计划选择: 调整执行计划器成本常数(参见第19.7.2节); 手动执行ANALYZE; 调大default_statistics_target配置参数值; 使用ALTER TABLE SET STATISTICS命令调大对特定列的统计信息收集; enable_bit..

2021-02-23 17:33:28 171

原创 19.6. Replication

19.6同步复制这些设置影响内置的流复制特性(参见第26.2.5节)。数据库服务或为主节点,或为备节点。主节点发送数据,备节点接收并应用数据。若使用级联复制(参见第26.2.7节),备节点既可做主节点也可做备节点。19.6.1数据发送服务以下参数可用于发送数据到备端的服务,即主节点。max_wal_senders(integer) 备节点最大并行连接数。默认为10。若为0则禁用同步。max_replication_slots(integer) 指定支持的最大复制槽...

2021-02-23 15:48:47 142

RHEL7.1安装文档

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

2016-02-24

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

TA关注的人

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