美文网首页
Nodejs链接postgresql的方式

Nodejs链接postgresql的方式

作者: 椟夜 | 来源:发表于2018-07-29 21:40 被阅读252次

    nodejs连接pg数据库有两种方式:

    1. 一种是直接连接、操作、断开。
    2. 一种是使用连接池,这种方式可以有效提升多并发的效率。
    /*
     * 使用连接池
     * */
    function connectPgWithPool() {
        var pgConfig = {
            user: 'postgres',
            database: 'postgres',
            password: '123456',
            host: '192.168.1.234',
            port: '5432',
            poolSize: 5,
            poolIdleTimeout: 30000,
            reapIntervalMillis: 10000
        };
        var pgPool = new pgOpt.Pool(pgConfig);
        // var pgPool = new pgOpt.pools.getOrCreate(pgConfig);// 低版本的pg模块需要这样来创建连接池
        
        pgPool.connect(function (isErr, client, done) {
            if (isErr) {
                console.log('connect query:' + isErr.message);
                return;
            }
            client.query('select now();', [], function (isErr, rst) {
                done();
                if (isErr) {
                    console.log('query error:' + isErr.message);
                } else {
                    console.log('query success, data is: ' + rst.rows[0].now);
                }
            })
        });
    }
    /** 不使用连接池* */
    function connectPgWithoutPool() {
        var conStr = "postgres://postgres:123456@192.168.1.234:5432/postgres";
        var client = new pgOpt.Client(conStr);
        client.connect(function (isErr) {
            if (isErr) {
                console.log('connect error:' + isErr.message);
                client.end();
                return;
            }
            client.query('select now();', [], function (isErr, rst) {
                if (isErr) {
                    console.log('query error:' + isErr.message);
                } else {
                    console.log('query success, data is: ' + rst.rows[0].now);
                }
                client.end();
            })
        })
    }
    connectPgWithPool();
    //connectPgWithoutPool();
    
    

    相关文章

      网友评论

          本文标题:Nodejs链接postgresql的方式

          本文链接:https://www.haomeiwen.com/subject/sgmtvftx.html