我有一张使用 Pandas 转储到 Postgres 的表,Pandas 可以使用该命令很好地读取它,read_sql_table
但我似乎无法使用 SQL 访问它。当我运行该\dt
命令时,我将公共模式下列出的表作为现有表之一。
List of relations
Schema | Name | Type | Owner
--------+------------------------------------+-------+----------
public | "e7b6a2e19789418e9e48fd34e981b036" | table | postgres
但是当我运行时,SELECT * FROM "e7b6a2e19789418e9e48fd34e981b036";
我得到关系不存在错误。我尝试了以下方法:
SELECT * FROM "e7b6a2e19789418e9e48fd34e981b036"
SELECT * FROM "public"."e7b6a2e19789418e9e48fd34e981b036"
- 通过执行向用户授予对公共模式的使用权
GRANT USAGE ON SCHEMA public TO postgres;
- 检查了这个堆栈溢出答案,这表明它可能是标识符长度太长,但我的标识符长度是 32 个字节,Postgres 默认最多允许 63 个字节
当我运行SHOW search_path;
它时,它会显示"$user", public
它应该是什么,但由于某种原因,Postgres 一直说这种关系不存在。
其他有用信息:
关于这里可能导致错误的任何想法?