使用golang 编写postgresql 扩展】的更多相关文章

  postgresql 的扩展可以帮助我们做好多强大的事情,支持的开发语言有lua.perl.java.js.c 社区有人开发了一个可以基于golang开发pg 扩展的项目,使用起来很方便,同时为我们生成了 pg 扩展依赖的文件 control .sql 文件,以及编译好的共享库 注意我使用的是centos7 操作系统 环境准备 golang 安装&&配置 这个比较简单,可以直接使用yum 安装,可能需要配置环境变量,以支持bin 工具的使用 安装plgo go get -u githu…
原文:http://big-elephants.com/2015-10/writing-postgres-extensions-part-iii/ 编译:Tacey Wong 在上一篇关于编写Postgres Extensions的文章中,我们从头开始创建了一个新的数据类型base36. 然而,我们留下了一个导致我们的服务器崩溃的严重bug. 现在让我们用调试器来查找这个错误并完成测试工具. 我们根据这些系列中关于编写PostgreSQL扩展的内容创建了一个专用的github repo.上一篇文…
自从NodeJS,和Golang出来后,很多人都投奔过去了.不为什么,冲着那牛X的性能.那PHP的性能什么时候能提升一下呢?要不然就会被人鄙视了.其实大牛们也深刻体会到了这些威胁,于是都在秘密开发各种秘密武器. HHVM和Hack Facebook自己弄了一套HHVM虚拟机,和一个新语言Hack.HHVM的性能不错,像Wordpress,PHPMyAdmin这样的项目,运行在上面很流畅,但是有个问题很致命,如果你引入了第三方扩展,现有的代码移植过去,没办法运行.如果你希望你的代码运行于HHVM,…
原文:http://big-elephants.com/2015-11/writing-postgres-extensions-part-v/ 编译:Tacey Wong 在关于编写Postgres扩展的系列文章的最后四篇文章中,我们了解了基本的类型和操作符,介绍了调试器并完成了测试套件. 现在让我们添加另一种类型,看看如何在代码库增长时组织代码库. 你可以在github分支上找到最后一篇帖子的代码库part_iv今天的分支可以在分支part_v上找到 版本控制 我们可能对我们的扩展感到满意并在…
原文:http://big-elephants.com/2015-10/writing-postgres-extensions-part-i/ 编译:Tacey Wong Postgres提供了广泛的数据类型.函数.操作符以及聚合功能.但有时它仍然不能满足你的某个特定需求, 幸运的是,通过"扩展"可以很容易地扩展Postgres的功能. 那么为什么不写一个自己的Postgresql扩展呢? 这是编写Postgres扩展系列文章中的第一篇. 你可以按照分支part_i上的代码示例进行操作…
1.写在最前 随着互联网飞速发展,lamp架构的流行,php支持的扩展也越来越多,这样直接促进了php的发展. 但是php也有脚本语言不可避免的问题,性能比例如C等编译型语言相差甚多,所以在考虑性能问题的时候最好还是通过php扩展来解决. 那么,怎么去做一个php扩展呢.下面从一个例子开始(本文章需要C基础). 2.解决一个问题 在一个系统中,如果经常要求一个数组的平方和,我们可以这么写. <?php function array_square_sum($data){ $sum = 0; for…
原文:http://big-elephants.com/2015-11/writing-postgres-extensions-part-iv/ 编译:http://big-elephants.com/2015-11/writing-postgres-extensions-part-iv/ 在关于编写Postgres扩展的第三部分中,我们使用LLDB调试器修复了一个严重的错误,并使用类型转换完成了base36类型.现在是时候恢复我们实际上已经取得的成就--并做更多的测试. 你可以在github…
1 写在前面 最近使用 typescript 与 angular 编写 chrome 扩展, 对繁复的 contextMenus 创建步骤进行了提炼,并总结一个类 2 重构思路 2.1 一般方法 在编写 chrome 扩展中的 contextMenu 中,一般的思路是定义一个 JSON,并且遍历这个JSON数据并且以此创建 menu, 如: const menu = { "menus": [ {"id": "main", "visibl…
Golang编写动态库实现回调函数 我们现在要做一个动态库,但是C++实在是比较难,于是就想能不能用更简单的golang来实现,golang也就是最近的版本才支持编译成动态库,在网上也没找到可用的案例,好在我们解决了这个问题,这边写个笔记造福大众. main.go package main /* #cgo CFLAGS: -I . #include <unistd.h> #include <stdio.h> #include <string.h> #include &l…
原文:http://big-elephants.com/2015-10/writing-postgres-extensions-part-ii/ 编译:Tacey Wong 在上一篇关于编写Postgres Extensions的文章中,我们介绍了扩展PostgresQL的基础知识.现在是有趣的部分来了--开发我们自己的类型. 一个小小的免责声明 最好不要急于复制和粘贴本文中的代码.文中的代码有一些严重的bug,这些bug是为了说明解释的目的而故意留下的.如果您正在寻找可用于生产的base36类…