之前有一篇介绍PostgreSQL在MAC环境下的初体验 ,今天要和大家分享的是 node.js 应用 + PostgreSQL 做数据存储的demo.
node.js 环境使用 PostgreSQL 需要下载编译 node-postgres
使用:zhangzhi@moke:npm install --save pg
README.md 关于如何使用的api 也比较简单:var pg = require('pg');
var conString = "postgres://username:password@localhost/database";
pg.connect(conString, function(err, client, done) {
if(err) {
return console.error('error fetching client from pool', err);
}
client.query('SELECT $1::int AS number', ['1'], function(err, result) {
done();
if(err) {
return console.error('error running query', err);
}
console.log(result.rows[0].number); //output: 1
});
});
上面是来自官方README 文档中的一段 Demo ,几乎描述了 pg 包提供给我们的所有api .
没错,就是 2个.
pg.connect 得到 client
然后 调用 client.query 得到我们需要的结果.
上面的这一小段调用,需要我们准备哪些东西呢?连接字符串 (数据库用户名,密码,数据库所在服务器地址,数据库名称)
查询 SQL 语句
所需要的参数zhangzhi@moke:~$ psql -U postgres //登录postgres 用户
psql (9.4.1)
Type "help" for help.
postgres=#CREATE DATABASE huheren WITH OWNER = postgres //创建huheren数据库
创建成功后,可以直接切换到新建的数据库postgres=#\c huheren //切换到 huheren 数据库
你也可以登录数据库的时候直接指定数据库名zhangzhi@moke:~$ psql -U postgres -d huheren
psql (9.4.1)
Type "help" for help.
huheren=#
下面我们需要创建数据表了huheren=#CREATE TABLE job
(
_id serial NOT NULL,
user_id integer,
title character varying(512),
company character varying(512),
isvip boolean,
area character varying(512),
jobyear integer,
address character varying(512),