小编Chr*_*isM的帖子

GRANT ALL ON ALL TABLES IN SCHEMA 不允许用户查看表

我有一个非常简单的脚本来创建一个新数据库并创建一个新用户来访问这个数据库。这是由默认的 postgres 用户运行的。授予用户对数据库和模式的访问权限后,新创建的用户仍然无法看到\dtpsql 中使用的表。以下是脚本的一些片段,以显示我迄今为止尝试过的内容:

CREATE USER api WITH ENCRYPTED PASSWORD 'password';

ALTER DEFAULT PRIVILEGES 
    FOR USER api
    IN SCHEMA public
    GRANT ALL ON ALL TABLES TO api;


DROP DATABASE IF EXISTS new_db;
CREATE DATABASE new_db;


CREATE TABLE addresses (
    address_id INTEGER,
    address_line_1 VARCHAR(50) NOT NULL,
    address_line_2 VARCHAR(50),
    city VARCHAR(50) NOT NULL,
    state VARCHAR(2) NOT NULL,
    zipcode VARCHAR(12) NOT NULL,
    PRIMARY KEY (address_id)
);

-- Create more tables....

-- Added these in for good measure at the end:
GRANT …
Run Code Online (Sandbox Code Playgroud)

postgresql permissions psql users

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

permissions ×1

postgresql ×1

psql ×1

users ×1