Cita: el '$1', tengo la impresión de que postgre no evalua esa variable sino que la toma como un literal pero no tengo plena certeza de eso.
Esto es cierto.
martha_mendoza... hazlo así:
Código sql:
Ver originalFOR datos IN
SELECT id_admin, login_adm, password_adm
FROM administrador
WHERE login_adm=$1
LOOP
el $1 viene como variable de tipo character varying y ya trae las comillas implicitas. si lo pones entre comillas, estarás enviando una comparación contra la palabra "$1" y no contra la variable que trae realmente.