Tôi đang làm việc trên một cơ sở dữ liệu postgresql của amazon nơi tôi biết đã có một số vấn đề với lược đồ công cộng (có thể nó đã bị hủy). Nhưng rõ ràng lược đồ tồn tại, và dù sao thì vấn đề vẫn chưa được giải quyết. Đây là một phiên mẫu với cơ sở dữ liệu trống mới được tạo:
mydb=> CREATE TABLE distributors (
mydb(> did integer,
mydb(> name varchar(40) UNIQUE
mydb(> );
ERROR: no schema has been selected to create in
mydb=> show search_path;
search_path
----------------
"$user",public
(1 row)
mydb=> create schema public;
ERROR: schema "public" already exists
Có gợi ý nào không? Tôi nên tìm cái gì?
Giải quyết. Nhờ câu trả lời của Daniel Vérité tôi đã giải quyết như sau:
grant usage on schema public to public;
grant create on schema public to public;
Đây có phải là các quyền mặc định trên lược đồ công cộng?
Tôi có một người dùng có thể truy cập cơ sở dữ liệu, vì vậy tôi nghĩ rằng dù sao điều này cũng không thể làm tăng rủi ro bảo mật ...
Tôi nghĩ rằng tôi nên thực hiện sửa đổi tương tự trên template1 . Nó có đúng không? Làm cách nào để kiểm tra xem các quyền trong template1 có đúng không (giả sử giá trị mặc định)?