Pergunta

I have created a function function_1() in Postgres.
Now I want to create another similar function function_2() and copy the content of function_1().

Any Postgres command line can do that?

So far I only used copy&paste method in the command line to create function_2() (need to change the function name to "function_2" after paste)

Foi útil?

Solução

If you are using the GUI pgAdmin, you can simply select the function in the object browser and open the reverse engineered SQL script in an SQL editor window.

There is a dedicated item in the options to automate it:

Options - Query tool - Query Editor - Copy SQL from main window to query tool

Outras dicas

pg_dump the function definition, or use the pg_get_functiondef function to get the function definition. Modifying it is up to you.

If you're trying to programmatically create functions you might be better off with PL/PgSQL's EXECUTE command and the format function to create dynamic functions.

It's pretty unusual to need to do this, suggesting you're probably doing something that's much more easily done another way.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top