Je travaille sur une base de données postgresql amazon RDS où je sais qu'il y a eu un problème avec le schéma public (il a peut-être été supprimé). Mais apparemment, le schéma existe et, de toute façon, le problème n’est pas résolu. Voici un exemple de session avec une base de données vide nouvellement créée:
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
Un indice? Que devrais-je rechercher?
Résolu Grâce à la réponse de Daniel Vérité, j'ai résolu le problème suivant:
grant usage on schema public to public;
grant create on schema public to public;
S'agit-il des autorisations par défaut sur le schéma public?
Je n'ai qu'un seul utilisateur qui peut accéder à la base de données, je pense donc que cela ne peut en aucun cas générer des risques pour la sécurité ...
Je pense que je devrais faire la même modification sur template1 . Est-ce correct? Comment puis-je vérifier si les autorisations dans template1 sont correctes (par exemple, les valeurs par défaut)?