Thread: [BUGS] issue with C functions using pg_dump

[BUGS] issue with C functions using pg_dump

From
Cédric Prin-Derre
Date:
greeting,

i am am doing some test using the Adventureworks sample database (available on postgresql wiki) and i have noticed an issue with pgdump

pg_dump --dbname=postgresql://postgres:xxx@127.0.0.1:5432/Adventureworks --no-owner --format=plain --schema=public  --file="D:\public.sql"


the generated sql file does not contain the code of the LANGUAGE c functions stored in this schema

could you please confirm it's a bug ? 


regards

Garanti sans virus. www.avast.com

Re: [BUGS] issue with C functions using pg_dump

From
Tom Lane
Date:
Cédric Prin-Derre <prinderr@gmail.com> writes:
> i am am doing some test using the Adventureworks sample database (available
> on postgresql wiki) and i have noticed an issue with pgdump
> pg_dump --dbname=postgresql://postgres:xxx@127.0.0.1:5432/Adventureworks
> --no-owner --format=plain --schema=public  --file="D:\public.sql"
> the generated sql file does not contain the code of the LANGUAGE c
> functions stored in this schema

If you're expecting it to contain the C source code, you're mistaken.
It should just be reconstructing the CREATE FUNCTION commands.
Typical output for a C-language function might be something like

CREATE FUNCTION int44in(cstring) RETURNS city_budget   LANGUAGE c IMMUTABLE STRICT   AS '$libdir/regress.so',
'int44in';
        regards, tom lane


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Re: [BUGS] issue with C functions using pg_dump

From
Cédric Prin-Derre
Date:

Hello Tom, thanks for your quick answer,

 

i was hoping to just  get the create function code but i do not.

 

 

Here s a sample of code not generated :

 

CREATE OR REPLACE FUNCTION public.uuid_nil()

  RETURNS uuid AS

'$libdir/uuid-ossp', 'uuid_nil'

  LANGUAGE c IMMUTABLE STRICT

  COST 1;

ALTER FUNCTION public.uuid_nil()

  OWNER TO postgres;

 

Here’s also the sql file generated with my command

(pg_dump --dbname=postgresql://postgres:xxx@127.0.0.1:5432/Adventureworks

--no-owner --format=plain --schema=public  --file="D:\public.sql")

 

 

Regards,

 

Provenance : Courrier pour Windows 10

 

De : Tom Lane
Envoyé le :samedi 26 août 2017 21:36
À : Cédric Prin-Derre
Cc : pgsql-bugs@postgresql.org
Objet :Re: [BUGS] issue with C functions using pg_dump

 

Cédric Prin-Derre <prinderr@gmail.com> writes:

> i am am doing some test using the Adventureworks sample database (available

> on postgresql wiki) and i have noticed an issue with pgdump

> pg_dump --dbname=postgresql://postgres:xxx@127.0.0.1:5432/Adventureworks

> --no-owner --format=plain --schema=public  --file="D:\public.sql"

> the generated sql file does not contain the code of the LANGUAGE c

> functions stored in this schema

 

If you're expecting it to contain the C source code, you're mistaken.

It should just be reconstructing the CREATE FUNCTION commands.

Typical output for a C-language function might be something like

 

CREATE FUNCTION int44in(cstring) RETURNS city_budget

    LANGUAGE c IMMUTABLE STRICT

    AS '$libdir/regress.so', 'int44in';

 

                                               regards, tom lane

 


Garanti sans virus. www.avast.com
Attachment

Re: [BUGS] issue with C functions using pg_dump

From
Tom Lane
Date:
Cédric Prin-Derre <prinderr@gmail.com> writes:
> i was hoping to just  get the create function code but i do not.

> Here s a sample of code not generated :

> CREATE OR REPLACE FUNCTION public.uuid_nil()

If you're looking for uuid_nil, the reason you're not seeing it
is that it's a member of the uuid-ossp extension.  pg_dump
will emit a CREATE EXTENSION command, not commands for all the
individual member objects.  You should look into the extension's
script file if you want to see the member objects' creation
commands.
        regards, tom lane


-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs