postgresql

Postgresql实现自增ID

在Postgresql中实现自增ID有两种方法,一种是创建表的时候使用SERIAL(序列类型);另一种先创建一个序列,然后将表类型改为序列的下一个值。 创建语句中使用Serial serial类型不是一种真正的类型,它实际上是一个序列,包括smallserial(smallint,short),serial(int)和 bigserial(bigint,long long int),smallserial,serial和bigserial的范围都是 (1,9223372036854775807)。 当一个字段为序列类型时其实是创建了一个序列,INSERT插入数据的时候,如果没有给该字段赋值会默认获取对应序列的下一个值。 SQL语句: create table user(id serial,name

  • zgljl2012
1 min read
postgresql

【PostgreSQL】存取jsonb

从PostgreSQL 9.3开始,json就成了postgres里的一种数据类型,也就是和varchar、int一样,我们表里的一个字段的类型可以为json了。 与此同时,postgres还提供了jsonb格式,jsonb格式是json的二进制形式,二者的区别在于json写入快,读取慢,jsonb写入慢,读取快,但在操作上,二者是没有区别的。下面以jsonb为例。 创建表 假设我们要存储的json数据是这样的: { "id": ID "name":"名字", "age":年龄 } 建表语句如下: create table if not exists name_age

  • zgljl2012
2 min read
正则表达式

PostgreSQL使用正则表达式进行模糊查询

在Postgres中可以使用正则表达式进行模糊查询,基础查询规则如下: 1. 关键字 ~,表示查询关键字左边的字段匹配右边表达式的记录 2. 关键字 ~*,表示查询关键字左边的字段匹配右边表达式的记录,并且不区分大小写 3. 关键字 !~,表示查询关键字左边的字段不匹配右边表达式的记录 4. 关键字 !~*,表示查询关键字左边的字段不匹配右边表达式的记录,并且不区分大小写 示例: SELECT title, substr(content,0, 100) from articles where markdown ~* '.*测试.*' 根据关键字查询文章,查询文章的标题以及内容的前100个字符。 附录:

  • zgljl2012
7 min read
Node.js 连接 postgreSQL数据库
nodejs

Node.js 连接 postgreSQL数据库

首先使用npm安装数据库连接模块: npm install --save pg 连接池创建 然后代码中引入pg模块,并编写数据库配置: var pg = require('pg'); // 数据库配置 var config = { user:"postgres", database:"ghost", password:"123456", port:5432, // 扩展属性 max:20, // 连接池最大连接数 idleTimeoutMillis:3000, // 连接最大空闲时间 3s } pg模块中有两种数据库连接方式,先讲连接池模式,

  • zgljl2012
4 min read
zgljl2012@gmail.com