↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

PostgreSQL 文档检索

PG 18 · 按类别浏览,或输入名称与关键词

常用条目12360
创建新的排序规则对象章节正文PG1823.2.2.3. 创建新的排序规则对象如果标准和预定义排序规则不足以满足需求,用户可以使用 SQL 命令 CREATE COLLATION 创建自己的排序规则对象。与所有预定义对象一样,标准和预定义排序规则都位于模式 pg_catalog 中。用户定义的排序规则应当创建在用户模式中。这也能确保它们被 pg_dump 保存。创建新的排序规则对象 创建模式章节正文PG185.10.1. 创建模式要创建一个模式,可使用 CREATE SCHEMA 命令,并且给出选择的模式名称。例如:CREATE SCHEMA myschema; 在一个模式中创建或访问对象,需要使用由模式名和表名构成的限定名,模式名和表名之间以点号分隔:schema.table 在任何需要一个表名的地方都可以这样用,包括表修改命令和后续章节要讨论的数据访问命令(为了简洁我们在这里…创建模式 创建索引章节正文PG1812.2.2. 创建索引我们可以创建一个 GIN 索引(第 12.9 节)来加速文本检索:CREATE INDEX pgweb_idx ON pgweb USING GIN (to_tsvector('english', body)); 注意这里使用的是 to_tsvector 的双参数版本。只有显式指定配置名称的文本检索函数,才能用于表达式索引(第 11.7 节)。这是因为索…创建索引 创建自定义扫描计划章节正文PG1860.2. 创建自定义扫描计划在完成的计划树中,自定义扫描使用下述结构体表示:typedef struct CustomScan { Scan scan; uint32 flags; List *custom_plans; List *custom_exprs; List *custom_private; List *custom_scan_tlist; Bitmapset *…创建自定义扫描计划 创建自定义扫描路径章节正文PG1860.1. 创建自定义扫描路径自定义扫描提供者通常会通过设置下面这个钩子,为一个基本关系添加路径。该钩子会在核心代码已经为该关系生成它所能生成的全部访问路径之后被调用(Gather 和 Gather Merge 路径除外,这两类路径会在此次调用之后生成,以便利用该钩子添加的部分路径):typedef void (*set_rel_pathlist_hook_type) (Pla…创建自定义扫描路径 创建证书章节正文PG1818.9.5. 创建证书要为服务器创建一个有效期为 365 天的简单自签名证书,可以使用下面的 OpenSSL 命令,并将 dbhost.yourdomain.com 替换为服务器主机名:openssl req -new -x509 -days 365 -nodes -text -out server.crt \ -keyout server.key -subj "/CN=db…创建证书 初始化函数章节正文PG1849.1. 初始化函数归档库是通过动态加载共享库的方式载入的,该共享库以 archive_library 指定的名称作为库基名。定位该库时使用常规的库搜索路径。为了提供所需的归档模块回调,并表明该库确实是一个归档模块,它需要提供一个名为_PG_archive_module_init 的函数。该函数必须返回一个指向 ArchiveModuleCallbacks 结构体的指针,其中…初始化函数 初始化函数章节正文PG1847.6.1. 初始化函数输出插件通过动态加载一个共享库来装入,库的基名就是输出插件的名称。普通的库搜索路径用于定位该库。为了提供所需的输出插件回调,并表明该库实际上是一个输出插件,它需要提供一个名为 _PG_output_plugin_init 的函数。该函数会接收一个结构体,需要用各个动作对应的回调函数指针填充它。typedef struct OutputPluginCal…初始化函数 初始化函数章节正文PG1850.2. 初始化函数 OAuth 验证器模块从 oauth_validator_libraries 列出的共享库中动态加载。当正在进行的登录请求需要它们时,模块会按需加载。库定位使用常规库搜索路径。为了提供验证器回调并声明该库是 OAuth 验证器模块,必须提供名为 _PG_oauth_validator_module_init 的函数。该函数的返回值必须是指向 OAuthV…初始化函数 初始化分支章节正文PG1866.5. 初始化分支每个不记录 WAL 的表以及该表上的每个索引,都有一个初始化分支。初始化分支是一个适当类型的空表或空索引。当不记录 WAL 的表因崩溃而必须重置为空时,初始化分支会被复制覆盖到主分支上,而其他分支都会被擦除(它们会在需要时自动重建)。初始化分支 初始化选项章节正文PG18初始化选项 pgbench 接受以下命令行初始化参数:[-d] dbname[--dbname=]dbname # 指定要测试的数据库名称。如果未指定,则使用环境变量 PGDATABASE。如果未设置该变量,则使用连接指定的用户名。 -i--initialize # 进入初始化模式所必需。 -I init_steps--init-steps=init_steps # 仅执行正常…初始化选项 初始快照章节正文PG1829.9.1. 初始快照对现有订阅表中的初始数据,会取快照并由一种特殊应用进程的并行实例来复制。这些特殊的应用进程是为每张待同步表启动的专用表同步工作进程。每个表同步进程都会创建自己的复制槽,并复制现有数据。复制一完成,该表内容就会对其他后端可见。现有数据复制完成后,工作进程会进入同步模式,通过标准逻辑复制流式发送在初始数据复制期间发生的任何变更,使该表与主应用进程达到同步状态…初始快照 初始数据同步章节正文PG1829.4.5. 初始数据同步如果订阅需要复制预先存在的表数据,且某个发布包含 WHERE 子句,则只有满足行过滤表达式的数据才会被复制到订阅端。如果某个订阅包含多个发布,而其中某张表带有不同的 WHERE 子句,那么满足这些表达式中任意一个的行都会被复制。详见第 29.4.6 节。警告 由于初始数据同步在复制现有表数据时不会考虑 publish 参数,因此有些使用 DML 时本…初始数据同步 删除章节正文PG182.9. 删除可以使用 DELETE 命令从表中移除行。假设你不再关心 Hayward 的天气,那么可以用下面的方法把这些行从表中删除:DELETE FROM weather WHERE city = 'Hayward'; 所有属于 Hayward 的天气记录都会被删除。SELECT * FROM weather; city | temp_lo | temp_hi | prcp…删除 删除数据章节正文PG186.3. 删除数据到目前为止,我们已经解释了如何向表中添加数据以及如何修改数据。接下来要讨论的是如何删除不再需要的数据。正如添加数据只能按整行进行一样,从表中删除数据也只能按整行进行。前一节已经说明,SQL 不提供直接寻址单独行的方法。因此,只能通过指定待删除行必须满足的条件来删除它们。如果表中有主键,那么你可以指定精确的一行;但你也可以删除匹配某个条件的一组行,或者一次删除表…删除数据 删除数据库章节正文PG1822.5. 删除数据库数据库使用 DROP DATABASE 命令删除:DROP DATABASE name; 只有数据库拥有者或超级用户可以删除数据库。删除数据库会移除其中包含的全部对象。数据库的删除无法撤销。当你连接到目标数据库时,不能执行 DROP DATABASE 命令。不过,你可以连接到任何其他数据库,包括 template1 数据库。若要删除某个集簇中的最后一个用户…删除数据库 删除角色章节正文PG1821.4. 删除角色由于角色可以拥有数据库对象,并且可以拥有访问其他对象的权限,所以删除一个角色通常不只是简单执行一次 DROP ROLE。必须先删除或重新分配该角色拥有的任何对象;并且必须撤销授予该角色的任何权限。对象所有权可以逐个使用 ALTER 命令转移,例如:ALTER TABLE bobs_table OWNER TO alice; 或者,可以使用 REASSIGN …删除角色 到哪里报告缺陷章节正文PG185.3. 到哪里报告缺陷一般来说,请将缺陷报告发送到缺陷报告邮件列表 <pgsql-bugs@lists.postgresql.org>。请为电子邮件使用描述性的主题,必要时可以摘取部分错误消息。另一种方法是填写项目网站上提供的缺陷报告网页表单。通过这种方式提交的缺陷报告,也会被发送到 <pgsql-bugs@lists.postgresql.org> 邮件列表。如果你的缺陷报…到哪里报告缺陷 前置条件章节正文PG18前置条件要让 pg_createsubscriber 将目标服务器转换为逻辑副本,需要满足一些前提条件。如果不满足这些条件,就会报告错误。源服务器和目标服务器的主版本必须与 pg_createsubscriber 相同。给定的目标数据目录必须与源数据目录具有相同的系统标识符。为目标数据目录指定的数据库用户必须具备创建订阅以及使用 pg_replication_origin_ad…前置条件 前言章节正文PG18前言本书是 PostgreSQL 的官方文档。它由 PostgreSQL 开发人员及其他志愿者在 PostgreSQL 软件开发过程中同步编写。它描述了当前版本的 PostgreSQL 正式支持的全部功能。为了便于管理有关 PostgreSQL 的大量信息,本书被组织为若干部分。每一部分都面向不同类型的用户,或者面向处于不同 PostgreSQL 使用阶段的用户:第 I 部分是…前言 加密选项章节正文PG1818.8. 加密选项 PostgreSQL 提供了多个层次的加密,并在防止数据因数据库服务器被盗、不诚实的管理员或不安全网络等原因而泄露方面提供了很高的灵活性。为了保护医疗记录、金融交易等敏感数据,也可能需要使用加密。密码加密 # 数据库用户密码以 hash 形式存储(由 password_encryption 控制),因此管理员无法得知分配给用户的实际密码。如果客户端认证使用…加密选项 动态 SQL章节正文PG1834.5. 动态 SQL 在很多情况中,一个应用必须要执行的特定 SQL 语句在编写该应用时就已知。不过在某些情况中,SQL 语句在运行时构造或者由一个外部来源提供。这样你就不能直接把 SQL 语句嵌入到 C 源代码,不过有一种功能允许你调用在一个字符串变量中提供的任意 SQL 语句。动态 SQL 动态域转换章节正文PG18F.40.5.5. 动态域转换如果安全策略允许,可以利用 SELinux 的动态域转换功能,将客户端进程(即客户端域)的安全标签切换到新的上下文。客户端域需要 setcurrent 权限,以及从旧域切换到新域的 dyntransition 权限。动态域转换需要谨慎考虑,因为它允许用户按自己的意愿切换标签,因而也能切换其权限,而不是像受信任过程那样由系统强制规定。因此,只有当它被…动态域转换 动态载入章节正文PG1836.10.1. 动态载入在一个会话中第一次调用一个特定可载入目标文件中的用户定义函数时,动态载入器会把那个目标文件载入到内存以便该函数被调用。因此用户定义的 C 函数的 CREATE FUNCTION 必须为该函数指定两块信息:可载入目标文件的名称,以及要在该目标文件中调用的特定函数的 C 名称(链接符号)。如果没有显式指定 C 名称,则它被假定为和 SQL 函数名相同。下面…动态载入 动态追踪章节正文PG1827.5. 动态追踪 PostgreSQL 提供了功能来支持数据库服务器的动态追踪。这样就允许在代码中的特定点上调用外部工具来追踪执行过程。一些探针或追踪点已经被插入在源代码中。这些探针的目的是被数据库开发者和管理员使用。默认情况下,探针不被编译到 PostgreSQL 中;用户需要显式地告诉配置脚本使得探针可用。目前已支持 DTrace 工具;在本文撰写时,它在 Solari…动态追踪 包含文件章节正文PG1834.9.1. 包含文件要在嵌入式 SQL 程序中包含外部文件,可使用:EXEC SQL INCLUDE filename; EXEC SQL INCLUDE <filename>; EXEC SQL INCLUDE "filename"; 嵌入式 SQL 预处理器会查找名为 filename.h 的文件,对它进行预处理,并将其包含在生成的 C 输出中。这样,被包含文件中的嵌入…包含文件 包含界限与排除界限章节正文PG188.17.3. 包含界限与排除界限每个非空范围都有两个界限:下界和上界。位于这两个值之间的所有点都包含在该范围内。包含界限表示边界点本身也包含在范围内,而排除界限则表示边界点不包含在范围内。在范围的文本形式中,包含下界用“[”表示,排除下界用“(”表示。同样,包含上界用“]”表示,排除上界用“)”表示。更多细节见第 8.17.5 节。函数 lower_inc 和 upper_i…包含界限与排除界限 区域设置和格式化章节正文PG1819.11.2. 区域设置和格式化 DateStyle (string) # 设置日期和时间值的显示格式,以及解释有歧义的日期输入值的规则。由于历史原因,这个变量包含两个独立的部分:输出格式声明(ISO、Postgres、SQL 或 German)、输入/输出的年/月/日顺序(DMY、MDY 或 YMD)。这些可以被独立设置或者一起设置。关键字 Euro 和 European …区域设置和格式化 区域设置和编码章节正文PG1831.1.4. 区域设置和编码默认情况下,使用临时安装的测试会采用当前环境中定义的区域设置,以及由 initdb 决定的相应数据库编码。通过设置适当的环境变量来测试不同的区域设置可能很有用,例如:make check LANG=C make check LC_COLLATE=en_US.utf8 LC_CTYPE=fr_CA.utf8 出于实现原因,设置 LC_ALL 不能用于…区域设置和编码 区域设置差异章节正文PG1831.2.2. 区域设置差异如果你针对一个排序区域设置不是 C 的服务器运行测试,就可能因为排序顺序不同而出现差异,并导致后续失败。回归测试套件通过提供备用结果文件来处理这个问题;这些文件已知可以覆盖大量区域设置。使用临时安装方法时,要在不同区域设置下运行测试,可在 make 命令行上传递合适的区域设置相关环境变量,例如:make check LANG=de_DE.utf8(回…区域设置差异 区域设置提供程序章节正文PG1823.1.4. 区域设置提供程序区域设置提供程序指定由哪个库来定义排序规则和字符分类的区域设置行为。如上所述,用于选择区域设置的命令和工具都提供了选择区域设置提供程序的选项。下面是一个使用 ICU 提供程序初始化数据库集簇的示例:initdb --locale-provider=icu --icu-locale=en 有关详细信息,请参阅相应命令和程序的说明。请注意,你可以在不…区域设置提供程序 区域设置支持章节正文PG1823.1. 区域设置支持区域设置支持是指应用程序在字母表、排序、数字格式等方面尊重文化偏好。PostgreSQL 使用服务器操作系统提供的标准 ISO C 和 POSIX 区域设置机制。更多信息请参考系统文档。区域设置支持 区域设置规范化和验证章节正文PG1823.1.5.2. 区域设置规范化和验证在定义新的 ICU 排序规则对象,或者定义以 ICU 为提供程序的数据库时,给定的区域设置名称如果还不是语言标签形式,就会被转换(“规范化”)成语言标签。例如:CREATE COLLATION mycollation3 (provider = icu, locale = 'en-US-u-kn-true'); NOTICE: using …区域设置规范化和验证 匿名代码块章节正文PG1844.4. 匿名代码块 PL/Python 也支持通过 DO 语句调用的匿名代码块:DO $$ # PL/Python 代码 $$ LANGUAGE plpython3u; 匿名代码块不接受任何参数,而且无论返回什么值都会被丢弃。除此之外,它的行为与函数完全相同。匿名代码块 升级章节正文PG1829.13. 升级仅当旧逻辑复制集群的所有成员都为 17.0 或更高版本时,才支持迁移逻辑复制集群。升级 升级 PostgreSQL 集簇章节正文PG1818.6. 升级 PostgreSQL 集簇本节讨论如何把数据库数据从一个 PostgreSQL 发行版升级到较新的发行版。当前 PostgreSQL 的版本号由主版本号和次版本号组成。例如,在版本号 10.1 中,10 是主版本号,1 是次版本号,这意味着它是主版本 10 的第一个次版本。对于 10.0 之前的 PostgreSQL 版本,版本号由三个数字组成,例如 9.5.…升级 PostgreSQL 集簇 升级双节点环形逻辑复制集群的步骤章节正文PG1829.13.3.3. 升级双节点环形逻辑复制集群的步骤假设有环形逻辑复制拓扑 node1->node2 以及 node2->node1。其中 node2 订阅 node1 的变更,node1 订阅 node2 的变更。node1 上有订阅 sub1_node2_node1,node2 上有订阅 sub1_node1_node2。在 node2 上,使用 ALTER SUBSCR…升级双节点环形逻辑复制集群的步骤 升级双节点逻辑复制集群的步骤章节正文PG1829.13.3.1. 升级双节点逻辑复制集群的步骤假设发布端位于 node1,订阅端位于 node2。订阅端 node2 上有订阅 sub1_node1_node2,用于订阅来自 node1 的变更。在 node2 上,使用 ALTER SUBSCRIPTION ... DISABLE 禁用所有订阅来自 node1 变更的订阅,例如: /* node2 # */ ALTER S…升级双节点逻辑复制集群的步骤 升级级联逻辑复制集群的步骤章节正文PG1829.13.3.2. 升级级联逻辑复制集群的步骤假设有级联逻辑复制拓扑 node1->node2->node3。其中 node2 订阅 node1 的变更,node3 订阅 node2 的变更。node2 上有订阅 sub1_node1_node2,node3 上有订阅 sub1_node2_node3。在 node2 上,使用 ALTER SUBSCRIPTION ... D…升级级联逻辑复制集群的步骤 升级逻辑复制集群章节正文PG1829.13.3. 升级逻辑复制集群在升级订阅端时,发布端仍可执行写操作。这些变更会在订阅端升级完成后继续复制。注意 逻辑复制的限制同样适用于逻辑复制集群升级。详见第 29.8 节。 发布端升级的前置条件同样适用于逻辑复制集群升级。详见第 29.13.1 节。 订阅端升级的前置条件同样适用于逻辑复制集群升级。详见第 29.13.2 节。警告 升级逻辑复制集群需要在多个节点执行多个…升级逻辑复制集群
更多结果

输入名称或关键词,从 PostgreSQL 手册与扩展目录中直接找到定义。

pg17: 限定版本 ex: 只搜扩展 ↑↓ 选择 ↵ 打开