ฉันกำลังทำงานกับฐานข้อมูล postgresql ของ amazon RDS ที่ฉันรู้ว่ามีปัญหากับสคีมาสาธารณะ (อาจถูกทิ้ง) แต่เห็นได้ชัดว่าสคีมามีอยู่แล้วและปัญหายังไม่ได้รับการแก้ไข นี่คือตัวอย่างเซสชันที่มีฐานข้อมูลเปล่าที่สร้างขึ้นใหม่:
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
คำใบ้ใด ๆ ฉันควรมองหาอะไร
แก้ไข ขอบคุณคำตอบของ Daniel Véritéฉันแก้ไขด้วยต่อไปนี้:
grant usage on schema public to public;
grant create on schema public to public;
นี่เป็นสิทธิ์เริ่มต้นบนสคีมาสาธารณะหรือไม่
ฉันมีผู้ใช้คนเดียวที่สามารถเข้าถึงฐานข้อมูลได้ดังนั้นฉันคิดว่านี่คงไม่สามารถเพิ่มความเสี่ยงด้านความปลอดภัย ...
ผมคิดว่าผมควรจะทำให้การปรับเปลี่ยนเช่นเดียวกันกับtemplate1 ถูกต้องหรือไม่ ฉันจะตรวจสอบได้อย่างไรว่าสิทธิ์ใน template1 นั้นถูกต้อง (พูดค่าเริ่มต้น)?