allow_in_place_tablespaces
一个开发服务器参数,允许表空间作为 pg_tblspc 内部的目录创建
allow_in_place_tablespaces
是一个开发人员 配置参数,它允许为 LOCATION
提供空值 CREATE TABLESPACE
,从而导致 表空间 作为 pg_tblspc
内部的目录创建,而不是作为符号链接创建。
allow_in_place_tablespaces
旨在用于开发和测试目的,不适用于生产环境。allow_in_place_tablespaces
在 PostgreSQL 15 中添加,后来回传到 PostgreSQL 10 ~ PostgreSQL 14(例如,参见提交 961cab0a)。
按 PostgreSQL 版本定义
allow_in_place_tablespaces (PostgreSQL 17)
设置 | 关闭 |
单位 | |
类别 | 开发者选项 |
简短描述 | 允许表空间直接位于 pg_tblspc 内,用于测试。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 布尔值 |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
启动值 | 关闭 |
重置值 | 关闭 |
源文件 | |
源代码行 | |
待重启 | 错误的 |
allow_in_place_tablespaces (PostgreSQL 16)
设置 | 关闭 |
单位 | |
类别 | 开发者选项 |
简短描述 | 允许表空间直接位于 pg_tblspc 内,用于测试。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 布尔值 |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
启动值 | 关闭 |
重置值 | 关闭 |
源文件 | |
源代码行 | |
待重启 | 错误的 |
allow_in_place_tablespaces (PostgreSQL 15)
设置 | 关闭 |
单位 | |
类别 | 开发者选项 |
简短描述 | 允许表空间直接位于 pg_tblspc 内,用于测试。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 布尔值 |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
启动值 | 关闭 |
重置值 | 关闭 |
源文件 | |
源代码行 | |
待重启 | 错误的 |
allow_in_place_tablespaces (PostgreSQL 14)
设置 | 关闭 |
单位 | |
类别 | 开发者选项 |
简短描述 | 允许表空间直接位于 pg_tblspc 内,用于测试。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 布尔值 |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
启动值 | 关闭 |
重置值 | 关闭 |
源文件 | |
源代码行 | |
待重启 | 错误的 |
allow_in_place_tablespaces (PostgreSQL 13)
设置 | 关闭 |
单位 | |
类别 | 开发者选项 |
简短描述 | 允许表空间直接位于 pg_tblspc 内,用于测试。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 布尔值 |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
启动值 | 关闭 |
重置值 | 关闭 |
源文件 | |
源代码行 | |
待重启 | 错误的 |
allow_in_place_tablespaces (PostgreSQL 12)
设置 | 关闭 |
单位 | |
类别 | 开发者选项 |
简短描述 | 允许表空间直接位于 pg_tblspc 内,用于测试。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 布尔值 |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
启动值 | 关闭 |
重置值 | 关闭 |
源文件 | |
源代码行 | |
待重启 | 错误的 |
allow_in_place_tablespaces (PostgreSQL 11)
设置 | 关闭 |
单位 | |
类别 | 开发者选项 |
简短描述 | 允许表空间直接位于 pg_tblspc 内,用于测试。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 布尔值 |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
启动值 | 关闭 |
重置值 | 关闭 |
源文件 | |
源代码行 | |
待重启 | 错误的 |
allow_in_place_tablespaces (PostgreSQL 10)
设置 | 关闭 |
单位 | |
类别 | 开发者选项 |
简短描述 | 允许表空间直接位于 pg_tblspc 内,用于测试。 |
额外描述 | |
上下文 | 超级用户 |
变量类型 | 布尔值 |
来源 | 默认值 |
最小值 | |
最大值 | |
枚举值 | |
启动值 | 关闭 |
重置值 | 关闭 |
源文件 | |
源代码行 | |
待重启 | 错误的 |
更改历史记录
- PostgreSQL 15
- 添加 (提交 7170f215)
示例
postgres=# CREATE TABLESPACE foo LOCATION ''; ERROR: tablespace location must be an absolute path postgres=# ALTER SYSTEM SET allow_in_place_tablespaces TO true; ALTER SYSTEM postgres=# SELECT pg_reload_conf(); pg_reload_conf ---------------- t (1 row) postgres=# CREATE TABLESPACE foo LOCATION ''; CREATE TABLESPACE
创建的表空间目录
$ ls -l /var/lib/pgsql/data/pg_tblspc/ total 4 drwx------ 3 postgres postgres 4096 Jan 15 09:47 16389
参考
- PostgreSQL 文档: allow_in_place_tablespaces