Recent Posts

PostgreSQL 如何只监听unix socket?

3 minute read

背景 可能出于某些原因(例如避免数据库的本机用户跨用户通过IP地址访问,而只通过LINUX文件权限来保护数据库的连接权限等),用户只需要监听unix socket,而不期望监听任何IP(包括127.0.0.1)。 怎么做呢? 配置 配置是很简单的,只需要把listen_addresses设置为空就可以了。 ...

PostgreSQL 数据库扩展语言编程 之 plpgsql - 1

7 minute read

背景 PostgreSQL是一个开放的数据库,开发性表现在支持自定义数据类型、索引方法、索引、操作符、聚合、窗口、服务端编程语言等等。 所以我们可以看到在PostgreSQL的生态中有很多贴近业务的用法,比如在PostgreSQL中存储和处理化学分子、存储和处理图像、存储和处理基因数据、存储和处理文本(包括正则...

PostgreSQL C tutorial

16 minute read

背景 转自 http://zetcode.com/db/postgresqlc/ 正文 This is a C programming tutorial for the PostgreSQL database. It covers the basics of PostgreSQL programming wit...

PostgreSQL PHP tutorial

22 minute read

背景 转自 http://zetcode.com/db/postgresqlphp/ 正文 This is a PHP tutorial for the PostgreSQL database. It covers the basics of PostgreSQL programming with PHP. T...

PostgreSQL Ruby tutorial

13 minute read

背景 转自 http://zetcode.com/db/postgresqlruby/ 正文 This is a Ruby programming tutorial for the PostgreSQL database. It covers the basics of PostgreSQL programmi...

PostgreSQL Python tutorial

19 minute read

背景 转自 http://zetcode.com/db/postgresqlpythontutorial/ 正文 This is a Python programming tutorial for the PostgreSQL database. It covers the basics of PostgreS...

PostgreSQL Java tutorial

33 minute read

背景 转自 http://zetcode.com/db/postgresqljavatutorial/ 正文 This is a Java tutorial for the PostgreSQL database. It covers the basics of PostgreSQL programming w...

PostgreSQL 全表 全字段 模糊查询的毫秒级高效实现 - 搜索引擎颤抖了

4 minute read

背景 在一些应用程序中,可能需要对表的所有字段进行检索,有些字段可能需要精准查询,有些字段可能需要模糊查询或全文检索。 比如一些前端页面下拉框的勾选和选择。 这种需求对于应用开发人员来说,会很蛋疼,因为写SQL很麻烦,例子: 之前写过一篇文章来解决这个问题 《PostgreSQL 行级 全文检索》 使用...

PostgreSQL 在被除数=0时的小纯真和小倔强

less than 1 minute read

背景 0不能作为被除数,小学就学过的知识。 对于数据库来说,设计严谨,遵循一些基本的原则也是很有必要的。 当在数据库中除以0时,应该如何处理呢? PostgreSQL为例,它具有非常浓烈的学院派风格,你说它你能让你除以0吗? 显然不让,如下: postgres=# select 1/0; ERROR...

PostgreSQL != , <> 索引

6 minute read

背景 在数据库中不等于能不能走索引呢?理论上是不行的,但是有方法可以让不等于也走索引(虽然走索引也不一定好)。 比如使用外连接实现(需要表有PK才行,没有PK可以使用行号代替),或者使用not exists,或者使用partial index(不支持变量)。 对于返回结果集很大的场景,建议使用游标分页返回,此...