- PostgreSQL 11 Server Side Programming Quick Start Guide
- Luca Ferrari
- 220字
- 2021-06-10 19:23:07
Moving functions to other schemas
As with many other database objects, it is possible to place a function into a schema that is different from the default one, which is public. All we need to do is either fully qualify the name of the function at the time it is created or issue an ALTER FUNCTION command.
Listing 19 shows the two ways to add the function f_greetings() to the schema my_library:
- By declaring the function with the schema qualifier before its name, such as my_library.f_greetings
- By issuing an ALTER FUNCTION SET SCHEMA command to move the function from one schema to another
-- first ensure there is the schema
testdb=> CREATE SCHEMA my_library;
-- and then add the function to the schema
testdb=> CREATE OR REPLACE FUNCTION
my_library.f_greetings( who text )
RETURNS text AS $code$
BEGIN
RETURN 'Hello dear ' || who;
END $code$ LANGUAGE plpgsql IMMUTABLE;
-- or to move an already existing function
testdb=> ALTER FUNCTION f_greetings( text ) SET SCHEMA my_library;
Listing 19: Declaring a function in a specific schema
For security reasons, it is not possible to change the schema of an existing function into the pg_temp one, since this would transform the function into a temporary one. Similarly, a function that has been already defined as temporary cannot be moved to a non-temporary schema.
推薦閱讀
- Big Data Analytics with Hadoop 3
- Design for the Future
- Machine Learning for Cybersecurity Cookbook
- 反饋系統:多學科視角(原書第2版)
- 圖解PLC控制系統梯形圖和語句表
- 機器人智能運動規劃技術
- 大數據處理平臺
- 聊天機器人:入門、進階與實戰
- 內模控制及其應用
- SAP Business Intelligence Quick Start Guide
- Mastering pfSense
- Citrix? XenDesktop? 7 Cookbook
- Visual C++項目開發案例精粹
- SQL Server數據庫應用基礎(第2版)
- MATLAB-Simulink系統仿真超級學習手冊