Vous n'êtes pas identifié(e).
Pages : 1
Merci pour ta réponse, tu m'a mis sur la voie et j'ai trouvé la solution à mon problème :
psql -U mon_utilisateur ma_bdd
puis
ma_bdd=> \c ma_bdd postgres
psql (8.4.17)
You are now connected to database "ma_bdd" as user "postgres".
c'est avec \c que mon problème s'est donc résolu.
Par la suite j'ai pu supprimer ma fonction normalement avec DROP.
Où dois-je marquer mon pb comme étant résolu dans le forum ?
Bonjour,
Je me connecte sous un utilisateur à ma bdd :
psql -U mon_utilisateur ma_bdd
puis je fais
DROP FUNCTION ma_fonction();
la console psql me retourne :
must be owner of function ma_fonction
Je fais alors
SELECT p.proname, u.usename
FROM pg_proc as p
INNER JOIN pg_user as u ON p.proowner = u.usesysid
WHERE p.proname = ma_fonction';
proname | usename
--------------------------+----------
ma_fonction | postgres
je vois que la fonction appartient à postgres, je me connecte alors en psql sous postgres :
psql -U postgres
et là je fais
ALTER FUNCTION ma_fonction() OWNER TO mon_utilisateur;
ERROR: role "mon_utilisateur" does not exist
je fais alors
SELECT p.proname, u.usename
FROM pg_proc as p
INNER JOIN pg_user as u ON p.proowner = u.usesysid
WHERE p.proname = ma_fonction';
proname | usename
---------+---------
(0 rows)
je quitte la console et essaie de me connecter à ma_bdd sous postgres :
psql -U postgres ma_bdd
psql: FATAL: database "ma_bdd" does not exist
j'ouvre une console sans spécifier de base en postgres :
psql -U postgres
postgres=# ALTER USER mon_utilisateur WITH SUPERUSER;
ERROR: role "mon_utilisateur" does not exist
bref postgres ne reconnaît pas l'existence de la fonction, ni celle de ma bdd ni celle de mon utilisateur.
Vous pourriez m'aider à supprimer cette fonction ?
Trop fort et trop rapide Gleu, merci et bonne journée !
Comment on fait pour dire que le pb est résolu ?
Bonjour,
Je voudrais faire une requête select ordonnée comme suit :
en premier un enregistrement ayant un certain id que je fixe puis les autres enregistrements ordonnés par ordre alphabétique
je m'explique : si ma table est
id nom
1 alain
2 paul
3 gerard
4 marc
et que je veux sortir l'id = 3 en premier, faire une requête qui me sortirait
id nom
3 gerard
1 alain
4 marc
2 paul
j'ai l'impression qu'il y aurait moyen avec un "order by using operator" et j'ai tenté un
SELECT * FROM matable ORDER BY id=3,nom
mais ça ne fonctionne pas.
Qui peut m'aider ? Merci d'avance.
Pages : 1