在bash中使用psql命令查询postgresql会抛出错误:relation";testschema.testtable";不存在
在bash中运行以下命令时抛出: 错误:关系“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是一个完全限定的表
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
语句永久设置