Il y a forcément autre chose qui ne colle pas.
En effet, je viens d'essayer depuis chez moi (machine Fedora 21) et là ça marche très bien.
Par contre au boulot je suis sur Windows 7 avec PuTTY. J’essaierai demain au boulot depuis un autre PC.
$ psql
psql (8.4.22)
Type "help" for help.
postgres=# select version();
version
-------------------------------------------------------------------------------------------------------------------
PostgreSQL 8.4.22 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1), 64-bit
(1 row)
postgres=# CREATE USER toto;
CREATE ROLE
postgres=# alter user toto password 'titi';
ALTER ROLE
postgres=# ALTER USER toto PASSWORD 'titi';
ALTER ROLE
postgres=# CREATE USER "TotOTo";
CREATE ROLE
postgres=# alter user "TotOTo" password 'titi';
ALTER ROLE
postgres=# ALTER USER "TotOTo" PASSWORD 'titi';
ALTER ROLE
Il y a forcément autre chose qui ne colle pas.
]]>L'ordre SQL s'écrit en majuscule ou en minuscule, peu importe.
Absolument, sauf que l'expérience que j'ai eu ici dans ce cas précis montre le contraire. Seul un "alter role" en minuscule fonctionne, mais pas en majuscule. C'est donc pour ça que je me demandais si ce n'était pas un bug car ce n'est pas normal.
]]>Il faut voir aussi que vous êtes en version 8.4. La syntaxe de psql est peut être très pointilleuse dans cette version.
Oui c'est peut-être ça.
Il serait peut être temps de migrer vers une version récente (surtout que la 8.4 n'est plus supportée depuis juillet 2014°.
C'est vrai mais c'est surtout qu'on devrait re-valider une partie de nos applications en migrant vers plus récent.
Et comme la 8.4 est fonctionnelle pour nous et supportée par Red Hat encore plusieurs années, c'est pas vraiment à l'ordre du jour chez nous ^^
en fait tout dépend de la commande de création. Donc...
Ça m'étonne quand même beaucoup que alter role "MYAPP_CONNECT" with password 'XXXXXXX'; fonctionne mais pas ALTER ROLE "MYAPP_CONNECT" WITH PASSWORD 'XXXXXXX';
]]>Avez-vous essayé avec :
alter user "MYAPP_CONNECT" with password 'XXXXXXX';
Ah comme ça ça marche !! Merci !
Il faut que je mette les commandes en minuscules (alter role), le rôle en majuscule et entre double-quotes. Toute autre forme d'écriture ne fonctionne pas. C'est normal ?
de plus pouvez vous nous donner l'ordre sql de création du rôle (l'ordre exacte) ?
Ce n'est pas moi qui est créé ce rôle donc je ne sais pas.
]]>Avez-vous essayé avec :
alter user "MYAPP_CONNECT" with password 'XXXXXXX';
Cordialement,
]]>Avez-vous exécuté
ALTER ROLE "MYAPP_CONNECT" WITH PASSWORD 'XXXXXXXX';
ou
ALTER ROLE MYAPP_CONNECT WITH PASSWORD 'XXXXXXXX';
?
Le premier devrait marcher, et le second vous donner l'erreur que vous avez eu.
]]>