Postgresql 不支持 package功能,这给oracle 向 postgresql迁移增加了很多迁移工作。人大金仓Kingbase数据库实现了类似 oracle package 功能,并提供了许多oracle 环境下常用的package。
本篇介绍 Kingbase UTL_FILE 包。
一、create extension and directory
UTL_FILE 包是通过扩展插件的形式实现的。
test=# create extension utl_file;
CREATE EXTENSION
test=# create or replace directory tmp_dir as '/home/kb86/utl_tmp';
CREATE DIRECTORY
注意:与oracle 不同,oracle directory 需要明确授权给用户,而 kingbase 不需要授权,且不同数据库用户可以共同写一个文件。这个个人觉得应该是权限控制不到位,后续还需完善。
二、UTL_FILE 包函数
UTL_FILE 包含的函数:
test=# \dx+ utl_file;
Objects in extension "utl_file"
Object description
---