You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何创建的schema属主为postgres而非me?表查询异常排查

问题解决与脚本修正方案

1. 修正db_schema的属主

  • 直接修改现有schema的属主:
    ALTER SCHEMA db_schema OWNER TO me;
    
  • 后续创建schema时,建议直接指定属主避免重复问题:
    CREATE SCHEMA IF NOT EXISTS db_schema AUTHORIZATION me;
    

2. 让me账号能看到db_schema

给me账号授予schema的使用权限:

GRANT USAGE ON SCHEMA db_schema TO me;

如果需要访问schema内的表,补充授予数据权限:

-- 授予现有表的查询权限
GRANT SELECT ON ALL TABLES IN SCHEMA db_schema TO me;
-- 新增表时自动继承权限
ALTER DEFAULT PRIVILEGES IN SCHEMA db_schema GRANT SELECT ON TABLES TO me;

3. 解决找不到db_schema.item的问题

这是脚本里的两处拼写错误导致的:

  • 创建thing表时误用了schema名 db_scheme(正确应为 db_schema)
  • 外键引用错误写成 db_schema.item(正确应为 db_schema.items)

修正后的核心脚本示例:

-- 创建带属主的schema
CREATE SCHEMA IF NOT EXISTS db_schema AUTHORIZATION me;

-- 创建items表(原脚本里的item应为items)
CREATE TABLE db_schema.items (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL
);

-- 创建thing表,修正schema名和外键
CREATE TABLE db_schema.thing (
    id SERIAL PRIMARY KEY,
    item_id INT REFERENCES db_schema.items(id)
);

内容的提问来源于stack exchange,提问作者binary_psychic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 22:25:41