Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在bash中使用psql命令查询postgresql会抛出错误:relation";testschema.testtable";不存在_Postgresql_Psql - Fatal编程技术网

在bash中使用psql命令查询postgresql会抛出错误:relation";testschema.testtable";不存在

在bash中使用psql命令查询postgresql会抛出错误:relation";testschema.testtable";不存在,postgresql,psql,Postgresql,Psql,在bash中运行以下命令时抛出: 错误:关系“testschema.testtable”不存在 命令行: psql -h "localhost" -d "postgres" -U "postgres" -c "select * from TestSchema.TestTable;" 为什么搜索关系而不是模式? 如何设置要搜索的默认模式,以及如何将来自多个数据库的多个模式的列表设置为默认列表 为什么搜索关系而不是模式 TestSchema.TestTable是一个关系(表)。I是一个完全限定的表

在bash中运行以下命令时抛出:

错误:关系“testschema.testtable”不存在

命令行:

psql -h "localhost" -d "postgres" -U "postgres" -c "select * from TestSchema.TestTable;"
为什么搜索关系而不是模式? 如何设置要搜索的默认模式,以及如何将来自多个数据库的多个模式的列表设置为默认列表

为什么搜索关系而不是模式

TestSchema.TestTable
是一个关系(表)。I是一个完全限定的表名

它找不到它的原因很可能是因为您使用双引号创建了架构和表:

create table "TestSchema"."TestTable" (...)
这使得名称区分大小写,并强制您始终使用引号来限定名称。有关“分隔标识符”(又名“引用标识符”)的详细信息,请参阅手册:

如何设置要搜索的默认架构

请参阅“set schema”语句:

您还可以使用
alteruser
命令定义默认模式

我可以将多个数据库中的多个架构列表设置为默认列表吗

是,设置搜索路径配置变量:

这也可以通过
alteruser
语句永久设置

为什么搜索关系而不是模式

TestSchema.TestTable
是一个关系(表)。I是一个完全限定的表名

它找不到它的原因很可能是因为您使用双引号创建了架构和表:

create table "TestSchema"."TestTable" (...)
这使得名称区分大小写,并强制您始终使用引号来限定名称。有关“分隔标识符”(又名“引号标识符”)的详细信息,请参阅手册:

如何设置要搜索的默认架构

请参阅“set schema”语句:

您还可以使用
alteruser
命令定义默认模式

我可以将多个数据库中的多个架构列表设置为默认列表吗

是,设置搜索路径配置变量:

这也可以通过
alteruser
语句永久设置