Problem with encode() function

From: Glenn_Wiens(at)via-christi(dot)org
To: pgsql-novice(at)postgresql(dot)org
Subject: Problem with encode() function
Date: 2004-05-21 19:50:31
Message-ID: OF31D5CA48.78E79003-ON86256E9B.006CB5CC-86256E9B.006CFF72@via-christi.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

I have a table where I have stored plain text passwords in a varchar field.
I would like to convert these to an encoded field. I have been able to
insert values into a test table using this syntax with a literal password:

insert into testtable (name, password) values ('glenn',encode
('mypassword','base64'));

and I can read them back out with the decode(password,'base64') syntax.
This is the behavior I want.

But when I try to encode data from an existing table:

create table newtable as select name, encode(password,'base64') as password
from oldtable;

I get this error

ERROR: Function encode(character varying, "unknown") does not exist
Unable to identify a function that satisfies the given argument
types
You may need to add explicit typecasts

I have tried the following casts

password::text
case(password as text)

but I still get the error:

ERROR: Function encode(text, "unknown") does not exist
Unable to identify a function that satisfies the given argument
types
You may need to add explicit typecasts

Is there a way I can accomplish this task?

Thanks.

Responses

Browse pgsql-novice by date

  From Date Subject
Next Message Manuel Sugawara 2004-05-21 22:21:32 Re: Problem with encode() function
Previous Message Tom Lane 2004-05-21 15:20:25 Re: INSTALLING POSTGRESQL 7.4.2