我有一个非常简单的脚本来创建一个新数据库并创建一个新用户来访问这个数据库。这是由默认的 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)