首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除配置参数

如何删除配置参数
EN

Stack Overflow用户
提问于 2018-06-19 08:31:42
回答 1查看 1.3K关注 0票数 2

在Postgres中,可以创建您自己的配置参数,类似于在会话或事务期间持续存在的"cookie“。

这样做是这样的:

代码语言:javascript
复制
SELECT set_config(setting_name, new_value, is_local)
or
SET [ SESSION | LOCAL ] configuration_parameter { TO | = } { value | 'value' | DEFAULT }

本地应该只在事务持续时间内持续,但即使在事务处理之后也会影响配置参数--而不是无法识别所述参数,它现在将被设置为空字符串。

问题

如何使所述参数再次无法识别,而无需重新连接?

这样做是行不通的:

代码语言:javascript
复制
SELECT set_config('settings.myapp.value', null, true);
RESET settings.myapp.value;

这将不返回NULL,而是提供空字符串:

代码语言:javascript
复制
SELECT current_setting('settings.myapp.value', true);

当然,我可以解决这个问题,但是我想知道我是否可以以某种方式将配置参数的状态恢复到“仅事务”更改之前的状态。

代码语言:javascript
复制
SELECT nullif(current_setting('settings.myapp.value', true), '');
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-19 13:21:25

你不能那样做。

如果您创建一个新参数,它将作为“占位符”参数创建。如果稍后加载一个定义该参数的模块,它将被动态转换为“真实”参数。

但是,无法在数据库会话的生存期内删除参数。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50923911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档