Vous n'êtes pas identifié(e).

#1 27/07/2009 23:06:28

sophonie
Membre

Impossibilité de modifier une Base de Données

Bonsoir à tous et à toutes,

Voici la situation suivante :

+------------+--------------+----------+-------------+--------------+-----------------------+
|    Nom     | Propriétaire | Encodage |     Tri     | Type caract. |    Droits d'accès     |
+------------+--------------+----------+-------------+--------------+-----------------------+
| jogstoreDB | postgres     | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8  |                       |
| postgres   | postgres     | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8  |                       |
| template0  | postgres     | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8  | =c/postgres           |
|                                                                   : postgres=CTc/postgres |
| template1  | postgres     | UTF8     | fr_FR.UTF-8 | fr_FR.UTF-8  | =c/postgres           |
|                                                                   : postgres=CTc/postgres |
+------------+--------------+----------+-------------+--------------+-----------------------+
(4 lignes)

L'utilisateur sophonie existe, j'ai crée le role en tant que postgres.
Lorsque je souhaite modifier la base de données jogstoreDB afin d'en modifier le propriétaire.

ALTER TABLE jogstoreDB OWNER TO sophonie;

J'ai le message suivant :
ERREUR:  la base de données « jogstoredb » n'existe pas

1°) Comment se fait-il qu'il me parle d'une base de données jogstoredb (db en minuscule) alors que j'ai supprimé cette base et que j'ai crée jogstoreDB (DB en majuscule)

2°) Peut-on supprimer le cache (ou la mémoire tampon)d'une base de données postgreSQL si ce cache existe?

Merci d'avance.
Sophonie.

Hors ligne

#2 28/07/2009 08:32:49

Marc Cousin
Membre

Re : Impossibilité de modifier une Base de Données

C'est à cause de la casse. La majeure partie des SGBD (dont postgresql) convertissent la casse de toutes les commandes. Pour PostgreSQL tout est converti en minuscules.
Pour préciser la casse, il faut mettre des doubles quotes autour des noms.

ALTER TABLE "jogstoreDB" OWNER TO sophonie;

Le plus intelligent et la norme habituelle étant de ne pas mettre de casse dans les noms d'objets réels. Après on peut toujours mettre autant de casse qu'on veut dans les commandes, puisqu'elle sera ignorée.


Pour ce qui est du cache, de quel cache parle t'on ? Il n'existe qu'un cache de buffer, sous PostgreSQL, qu'on ne peut pas supprimer. Ça n'aurait d'ailleurs d'utilité qu'à des fins des benchmark.


Marc.

Hors ligne

Pied de page des forums