Thread

  1. Regarding copy of function from one db to another db

    Rohit Dwivedi <dwivedir092@gmail.com> — 2017-06-15T10:43:13Z

    Hello sir,
                if we need to copy all the functions of database to another
    database then how  we can implement it other then copy paste and run
    it...Because there are total 153 functions in our database.
    
    Please Reply Us.
    
    Thank u sir,
    
  2. Re: Regarding copy of function from one db to another db

    Anthony Sotolongo <asotolongo@gmail.com> — 2017-06-15T15:01:27Z

    HI, i think that is not a bug, try to execute that query, this return 
    the code of
      functions  of specific schema (schema_name)
    
    
    select 'CREATE OR REPLACE FUNCTION '|| 
    nsp.nspname||'.'||proname||'('||pg_get_function_identity_arguments(p.oid)||') 
    RETURNS ' ||
    
    case
    when proretset='t' THEN ' SETOF '
    else ''
    end || typname    || ' AS $BODY$ ' ||prosrc || ' $BODY$ LANGUAGE ' || 
    l.lanname    ||';'      from pg_proc p   join pg_namespace nsp ON 
    p.pronamespace = nsp.oid join pg_type t
      ON p.prorettype = t.oid join pg_language l ON p.prolang = l.oid where 
    nsp.nspname = 'schema_name'
    
    
    
    Greetings
    
    PD: maybe use copy to export result and load in the other place
    
    On 15/06/17 06:43, Rohit Dwivedi wrote:
    > Hello sir,
    >             if we need to copy all the functions of database to 
    > another database then how  we can implement it other then copy paste 
    > and run it...Because there are total 153 functions in our database.
    >
    > Please Reply Us.
    >
    > Thank u sir,
    
    
    
    
  3. Re: Regarding copy of function from one db to another db

    David G. Johnston <david.g.johnston@gmail.com> — 2017-06-15T15:42:16Z

    On Thu, Jun 15, 2017 at 3:43 AM, Rohit Dwivedi <dwivedir092@gmail.com>
    wrote:
    
    > Hello sir,
    >             if we need to copy all the functions of database to another
    > database then how  we can implement it other then copy paste and run
    > it...Because there are total 153 functions in our database.
    >
    >
    ​General questions should be directed to the pgsql-general@postgresql.org
    mailing list.
    
    The tools provided to do what you want are pg_dump and pg_restore
    (specifically note the --list and --list-file options to pg_restore).  You
    will need to manually edit the list file to include only the functions as
    there is no object type filter capability (well, I now see there is a
    --function argument to pg_restore but I'm unsure about whether it take
    wildcards.  You will probably want to try it).  You can restrict the dump
    to schema only if you indeed only care about functions.
    
    David J.