variable number of arguments function
背景 有些时候可能需要函数能够接收任意个参数, 比方说fprintf()函数, int fprintf(FILE *stream, const char *format, ...); ... 表示的是任意个数的参数. 类似的还有execl和execlp : int execl(con...
背景 有些时候可能需要函数能够接收任意个参数, 比方说fprintf()函数, int fprintf(FILE *stream, const char *format, ...); ... 表示的是任意个数的参数. 类似的还有execl和execlp : int execl(con...
背景 PostgreSQL的plpgsql存储过程语言是解释性语言,支持语法型的CHECK但是无法发现一些运行时才可能触发的报错,比如表不存在等报错。当然这种报错实际上也不应该PLPGSQL来做,不过我们现在有plpgsql check extension来帮助发现这些问题了。 ``` postgres=# c...
背景 前几天在使用pgsql_fdw时发现它的外部表用在函数中会报错, 排错首先要获得详细的错误信息, 能跟踪就更好了. 《pgsql_fdw “cache lookup failed for type 0” error when used in function》 错误信息的获取途径有几种 : 1. 最简...
背景 今天一位同事又问到了这个问题, 函数索引. 这是一个老问题了. PostgreSQL中函数有三种状态, 不稳定, 稳定, 非常稳定. 三种状态分别代表的意思如下 : 《函数稳定性讲解 - Thinking PostgreSQL Function’s Volatility Categories》 如果...
背景 本文适用于没有事件触发器的版本。 最近经常有朋友会问在PostgreSQL中如何查询表的创建时间, MODIFY时间, 删除时间等. 首先来理一理思路: 1. PostgreSQL中pg_class系统表存储了表, 索引, 视图, 序列, TOAST 等数据对象的基本元信息。 每次创建一个新的对象都...
背景 在数据库应用中,某些数据表的记录更改可能会需要跟踪,例如删除,新增,更新。 跟踪的信息包括:老的记录值,新的记录值,记录变更时间,哪个用户操作的等等。 在数据库中,跟踪可以通过触发器来做。 因为每个表的结构都不一样,要设计一个比较通用的存储跟踪记录的表的话,需要使用通用的存储类型,例如 text 类型...
背景 【2012-07-11 补充】 已解决 http://sourceforge.net/tracker/index.php?func=detail&aid=3539995&group_id=565635&atid=2294281 ##【原文】 今天准备使用pgsql_fdw同步...
背景 环境 : CentOS 5.x 64bit PostgreSQL 9.1.3 nlpbamboo-1.1.2 cmake-2.8.8 CRF++-0.57 安装 : -- cmake tar -zxvf cmake-2.8.8.tar.gz cd cmake-2.8.8 ...
背景 昨天在一个业务库中发现一个比较耗时的SQL, 如下 : select t.APP_ID, t.APP_VER, t.CN_NAME, t.PACKAGE, t.APK_SIZE, t.APP_SHOW_VER, t.DESCRIPTION,t.CONTENT_PROVIDER,at.APP_TAG,h.S...
背景 目标, 创建一个表, 这个表有且只能有一行记录. 例子 测试表, digoal=> create table one_row (id int unique default 1,info text); NOTICE: CREATE TABLE / UNIQUE will create impl...