每次运行postgres示例,都需要手动将search_path通过SET search_path=ag_catalog;设置为ag_catalog,然后加载age,有没有办法让我不用每次都这么做?
SET search_path=ag_catalog;
yzuktlbb1#
默认的schema/search_path是'public'。为了将默认的search_path更改为'ag_catalog'而不是public,您需要更改db集群文件夹中的postgresql.conf文件。您需要取消注解并将search_path更改为
postgresql.conf
search_path = 'ag_catalog, "$user", public' # schema names
jhkqcmku2#
除非您更改postgresql.conf文件中的默认配置,否则每次都必须更改它。要编辑postgresql.conf,请执行以下操作:1.导航到postgresql目录,然后导航到data文件夹。1.打开postgresql.conf文件。1.搜索search_path属性,然后取消注解并添加ag_catalog。
search_path
ag_catalog
search_path = '"$user", public,ag_catalog' # schema names
3mpgtkmj3#
如果只在集群中的一个数据库中使用age,则可以只为该数据库设置search_path,而不更改全局设置。从这里Alter Database其余的表单更改PostgreSQL数据库运行时配置变量的会话默认值。每当随后在该数据库中启动新会话时,指定的值都将成为会话默认值。特定于数据库的默认值将覆盖postgresql.conf中存在的或从postgres命令行接收的任何设置。只有数据库所有者或超级用户可以更改数据库的会话默认值。某些变量不能以这种方式设置,或者只能由超级用户设置。这意味着您可以:
age
ALTER DATABASE the_db SET search_path = ag_catalog;
如果您需要撤消此操作,则:
ALTER DATABASE the_db SET search_path = default;
返回到postgresql.conf设置。
w41d8nur4#
创建群集时,将在PostgreSQL目录中创建一个与群集同名的文件夹。在这个文件夹中,有一个名为postgresql.conf的文件。使用文本编辑器打开此文件,找到包含术语“search_path”的行。删除行开头的'#'符号以取消注解。然后,修改该行以设置search_path的值,如下所示:
search_path = 'ag_catalog, "$user", public'
4sup72z85#
添加到现有的答案中,要直接从终端设置search_path,请使用vim编辑postgresql.conf文件。从已安装的postgres目录:
vim {cluster_name}/postgresql.conf
编辑器打开后,键入/search_path跳转到需要修改的行。按i切换到“INSERT”模式,允许您插入或删除字符。修改完成后,点击esc退出“INSERT”模式,然后按:wq写入并退出编辑器。
/search_path
i
esc
:wq
eblbsuwk6#
使用任何文本编辑器打开数据库的postgresql.conf文件。在必填字段中进行相应更改。在本例中,在search_path变量中添加ag_catalog。保存文件并重新启动服务器。注意:有时候,即使文件被更改,这也不起作用,因此在这种情况下,您必须找到另一种方法。
neskvpey7#
您可以通过更新使用首选编辑器创建的数据库目录中的postgresql.conf文件来设置此设置。取消注解并在文件中添加所需数据,如下所示:
# you can also avoid loading age everytime using the statement below shared_preload_libraries = 'age' # To set the path search_path = 'ag_catalog, "$user", public'
yizd12fk8#
为了避免每次运行Postgres示例时都将SET从search_path转换为ag_catalog,您必须编辑配置文件,即postgresql.conf文件,将search_path设置为'ag_catalog, "$user", public'并保存该文件。
SET
'ag_catalog, "$user", public'
8条答案
按热度按时间yzuktlbb1#
默认的schema/search_path是'public'。为了将默认的search_path更改为'ag_catalog'而不是public,您需要更改db集群文件夹中的
postgresql.conf
文件。您需要取消注解并将search_path更改为jhkqcmku2#
除非您更改
postgresql.conf
文件中的默认配置,否则每次都必须更改它。要编辑
postgresql.conf
,请执行以下操作:1.导航到postgresql目录,然后导航到data文件夹。
1.打开
postgresql.conf
文件。1.搜索
search_path
属性,然后取消注解并添加ag_catalog
。3mpgtkmj3#
如果只在集群中的一个数据库中使用
age
,则可以只为该数据库设置search_path
,而不更改全局设置。从这里Alter Database
其余的表单更改PostgreSQL数据库运行时配置变量的会话默认值。每当随后在该数据库中启动新会话时,指定的值都将成为会话默认值。特定于数据库的默认值将覆盖postgresql.conf中存在的或从postgres命令行接收的任何设置。只有数据库所有者或超级用户可以更改数据库的会话默认值。某些变量不能以这种方式设置,或者只能由超级用户设置。
这意味着您可以:
如果您需要撤消此操作,则:
返回到
postgresql.conf
设置。w41d8nur4#
创建群集时,将在PostgreSQL目录中创建一个与群集同名的文件夹。在这个文件夹中,有一个名为
postgresql.conf
的文件。使用文本编辑器打开此文件,找到包含术语“search_path”的行。删除行开头的'#'符号以取消注解。然后,修改该行以设置search_path
的值,如下所示:4sup72z85#
添加到现有的答案中,要直接从终端设置search_path,请使用vim编辑
postgresql.conf
文件。从已安装的postgres目录:编辑器打开后,键入
/search_path
跳转到需要修改的行。按i
切换到“INSERT”模式,允许您插入或删除字符。修改完成后,点击esc
退出“INSERT”模式,然后按:wq
写入并退出编辑器。eblbsuwk6#
使用任何文本编辑器打开数据库的postgresql.conf文件。在必填字段中进行相应更改。在本例中,在search_path变量中添加ag_catalog。
保存文件并重新启动服务器。
注意:有时候,即使文件被更改,这也不起作用,因此在这种情况下,您必须找到另一种方法。
neskvpey7#
您可以通过更新使用首选编辑器创建的数据库目录中的
postgresql.conf
文件来设置此设置。取消注解并在文件中添加所需数据,如下所示:yizd12fk8#
为了避免每次运行Postgres示例时都将
SET
从search_path
转换为ag_catalog
,您必须编辑配置文件,即postgresql.conf
文件,将search_path
设置为'ag_catalog, "$user", public'
并保存该文件。