Thread: pgcrypto

pgcrypto

From
Ramesh T
Date:
Hi,
      i   created extension pgcrypto on public with postgres user.But while trying to use from my own schma suppose qa.

when i run digest in function  in my qa 

 CREATE OR REPLACE FUNCTION sha1(bytea) returns text AS $$
      SELECT encode(digest($1, 'sha1'), 'hex')
    $$ LANGUAGE SQL STRICT IMMUTABLE;

it return error;
 when i install pgcrypto using postgres user  on qa,installed all pgcrypto function placed in qa function it looks confused.

what should i do how to access the pgcrypto of public and we need to create extension on each schema..??

Re: pgcrypto

From
Jeff Janes
Date:
On Wed, Sep 23, 2015 at 8:46 AM, Ramesh T <rameshparnanditech@gmail.com> wrote:
Hi,
      i   created extension pgcrypto on public with postgres user.But while trying to use from my own schma suppose qa.

when i run digest in function  in my qa 

 CREATE OR REPLACE FUNCTION sha1(bytea) returns text AS $$
      SELECT encode(digest($1, 'sha1'), 'hex')
    $$ LANGUAGE SQL STRICT IMMUTABLE;

If "public" is not in your search_path, then you need to schema-qualify the name of the function when you use it:

 
 CREATE OR REPLACE FUNCTION sha1(bytea) returns text AS $
       SELECT encode(public.digest($1, 'sha1'), 'hex')
     $ LANGUAGE SQL STRICT IMMUTABLE;

It is a good idea to do that anyway.

Cheers,

Jeff