Я працюю над базами даних amazon RDS postgresql, де я знаю, що з громадською схемою виникла якась проблема (можливо, її відкинули). Але, мабуть, схема існує, і все одно проблема не вирішена. Ось зразковий сеанс із новоствореною порожньою базою даних:
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
Будь-який натяк? Що я повинен шукати?
Вирішено. Завдяки відповіді Даніеля Верете я вирішив наступне:
grant usage on schema public to public;
grant create on schema public to public;
Це дозволи за замовчуванням на загальнодоступній схемі?
У мене є один користувач, який може отримати доступ до бази даних, тому я думаю, що це все одно не може підняти ризики для безпеки ...
Я думаю, я повинен зробити ту саму модифікацію на template1 . Це правильно? Як я можу перевірити правильність дозволів у template1 (скажімо, значення за замовчуванням)?