Saya bekerja pada database postgresql amazon RDS di mana saya tahu ada beberapa masalah dengan skema publik (mungkin itu dijatuhkan). Tapi ternyata skema itu ada, dan lagi pula masalahnya tidak terpecahkan. Berikut adalah contoh sesi dengan database kosong yang baru dibuat:
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
Ada petunjuk? Apa yang harus saya cari?
Terpecahkan. Terima kasih atas jawaban Daniel Vérité yang telah saya pecahkan dengan yang berikut:
grant usage on schema public to public;
grant create on schema public to public;
Apakah ini izin default pada skema publik?
Saya memiliki satu pengguna yang dapat mengakses database, jadi saya pikir ini toh tidak dapat meningkatkan risiko keamanan ...
Saya pikir saya harus membuat modifikasi yang sama pada template1 . Apakah itu benar? Bagaimana saya dapat memeriksa apakah izin di template1 sudah benar (katakanlah, nilai default)?