postgres數據庫安裝:windows安裝解壓版postgresql
1、使用nodejs模塊pg操作postgres數據庫
const pg = require('pg') // 數據庫配置 var config = { user: "wenbin.ouyang", host: 'localhost', database: "test", password: "", port: 5432, // 擴展屬性 max: 20, // 連接池最大連接數 idleTimeoutMillis: 3000, // 連接最大空閑時間 3s } // 創建連接池 var pool = new pg.Pool(config); // 查詢 pool.connect(function (err, client, done) { if (err) { return console.error('數據庫連接出錯', err); } // 簡單輸出個 Hello World client.query('SELECT $1::varchar AS OUT', ["Hello World"], function (err, result) { done();// 釋放連接(將其返回給連接池) if (err) { return console.error('查詢出錯', err); } console.log(result.rows[0].out); //output: Hello World }); }); pool.connect().then(client => { // insert 數據 client.query("INSERT INTO student(name, age) VALUES($1::varchar, $2::int)", ["xiaoming", "20"]).then(res => { console.log("Insert Success") // 如果是自增ID,有返回值的,在res里 return res; }) .then(res => { // 查詢xiaoming return client.query("Select * FROM student WHERE name = $1", ["xiaoming"]); }) .then(res => { // 輸出結果,看是否插入成功 console.log(res.rows[0]) // { id: 4, name: 'xiaoming', age: 20 } console.log(res.rows.length) }) .then(res => { // update 數據,將age改為21 return client.query("UPDATE student SET age=$1 WHERE name=$2", [21, "xiaoming"]) }) .then(res => { // 再查詢一次xiaoming return client.query("Select * FROM student WHERE name = $1", ["xiaoming"]); }) .then(res => { // 再輸出結果,看是否改為了21 console.log(res.rows[0]) console.log(res.rows.length) }) .then(res => { // 刪除數據 client.query("DELETE FROM student WHERE name=$1", ["xiaoming"]) }) .then(res => { // 最后再查詢一次xiaoming res = client.query("Select * FROM student WHERE name = $1", ["xiaoming"]); // 釋放連接 client.release() return res }) .then(res => { // 再輸出結果,沒數據 undefined console.log(res.rows[0]) // undefined console.log(res.rows.length) // 0 }) })
2、封裝pg模塊
dbConfig.js
const pg = require('pg') // 數據庫配置 var config = { user: "wenbin.ouyang", host: 'localhost', database: "test", password: "root", port: 5432, // 擴展屬性 max: 20, // 連接池最大連接數 idleTimeoutMillis: 3000, // 連接最大空閑時間 3s } // 創建連接池 var pool = new pg.Pool(config) module.exports = pool
---