• C语言创建Postgresql函数


    C语言函数代码:

    #include "postgres.h"
    #include "fmgr.h"
    #ifdef PG_MODULE_MAGIC
    PG_MODULE_MAGIC;
    #endif
    PG_FUNCTION_INFO_V1(add_one);
    Datum add_one(PG_FUNCTION_ARGS) {
        int32 arg = PG_GETARG_INT32(0);
        PG_RETURN_INT32(arg + 1);
    }
    // 编译:
    cc -I`pg_config --includedir-server` -c foo.c  
    
    // 生成 so 动态链接库
    //cc -fpic   -I`pg_config --includedir-server` -c foo.c  

       cc -shared -o foo.so foo.o

    // 拷贝链接库到pglib下
    cp cfunc.so `pg_config --libdir`/.
    

      

    -- 加载类库
    postgres=# load  'foo.so';
    LOAD
    
    
    -- 创建函数
    postgres=# CREATE FUNCTION add_one(integer) RETURNS integer AS '/usr/pgsql-12/lib/foo', 'add_one' LANGUAGE C STRICT; 
    
    CREATE FUNCTION
    

      

     

     

     

     

  • 相关阅读:
    [leetCode]剑指 Offer 62. 圆圈中最后剩下的数字
    [leetCode]剑指 Offer 61. 扑克牌中的顺子
    [leetCode]剑指 Offer 60. n个骰子的点数
    POJ
    POJ
    POJ
    codeforces
    LightOJ
    CodeForces
    CodeForces
  • 原文地址:https://www.cnblogs.com/leodaxin/p/14351390.html
Copyright © 2020-2023  润新知