Postgresql 如何在psql命令行上更改默认公共模式

Postgresql 如何在psql命令行上更改默认公共模式,postgresql,Postgresql,为了将MS Access mdb文件加载到PostgreSQL中,我在psql命令行中键入以下命令 mdb-schema xxx.mdb postgres | psql -h xxx -U xxx -W -d xxx 但是,Postgres表是在默认公共模式下创建的。我希望将它们放在不同的模式(“网络”)下,而不是默认模式(“公共”)。你能告诉我在这种情况下如何从“公共”变为“网络”吗 非常感谢您的建议。您需要设置选项: mdb-schema xxx.mdb postgres | PGOPTI

为了将MS Access mdb文件加载到PostgreSQL中,我在psql命令行中键入以下命令

mdb-schema xxx.mdb postgres | psql -h xxx -U xxx -W -d xxx
但是,Postgres表是在默认公共模式下创建的。我希望将它们放在不同的模式(“网络”)下,而不是默认模式(“公共”)。你能告诉我在这种情况下如何从“公共”变为“网络”吗


非常感谢您的建议。

您需要设置选项:

mdb-schema xxx.mdb postgres | PGOPTIONS='-c search_path=network' psql -h xxx -U xxx -W -d xxx
下面是证明(将schema设置为test_schema):


使用
PGOPTIONS
可以设置(几乎)任何配置指令

您必须
设置search\u path=myschema
设置模式myschema位于脚本顶部。我认为没有办法在命令行中指定它。您可以从dotfiles设置它,或者使用shell脚本cat构造将两者连接起来,是的。您可以
更改数据库xxx SET search\u path=myschema
上传后重新设置;这应该可以做到,但会干扰其他使用DB的人。。。。对于
alterrolemdb\u导入器SET search\u path=myschema,pg\u catalog,类似于
@CraigRinger:你能解释一下上传后如何重置PSQL命令终端吗?
$ PGOPTIONS='-c search_path=test_schema' psql postgres -c 'show search_path'
 search_path 
-------------
 test_schema
(1 row)