Thread: [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 -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs
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
Attachment
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