Я пытаюсь подключить приложение Node.js к серверу PostgreSQL. Кажется, что независимо от того, что я использую, я получаю ту же ошибку:
bundle.js:16177 ERROR: TypeError: net.Stream is not a constructor
at new Connection (bundle.js:10133)
at new Client (bundle.js:9704)
at Object.create (bundle.js:11308)
at Pool._createResource (bundle.js:510)
at Pool.dispense [as _dispense] (bundle.js:498)
at Pool.acquire (bundle.js:573)
at Pool.pool.connect (bundle.js:11359)
at PG.connect (bundle.js:10876)
at bundle.js:1642
Сначала я объявлял new pg.Client()
, как в примере в документации здесь, но получил указанную выше ошибку. обнаружил, что это может быть плохой идеей в соответствии с этот пост о переполнении стека.
Я попытался использовать pg.connect()
:
var pg = require('pg'); //postgresql dependency
var connectionString = "postgres://postgres:thisissuchagoodpassword@PostgreSQL/localhost:5432/Milestone1DB"
console.log("Initiating...");
//var connectionString = "postgres://postgres:[email protected]/localhost:5432/Milestone1DB";
//var client = new pg.Client();
//connect to the database
console.log("Attempting to connect to the database");
pg.connect(function (err, client, done)
{
if(err)
{
console.log("Error connecting to the database.");
throw err;
}
client.query("SELECT DISTINCT state FROM business ORDER BY state", function (err, result)
{
if(err)
{
console.log("Query resulted in an error.");
throw err;
}
console.log(result.rows[0]);
client.end(function (err)
{
if(err)
{
console.log("Error disconnecting from the databse.");
throw err;
}
});
});
});
Вот код pg-promise, который я пробовал:
var pgp = require('pg-promise');
var cn = {
host: 'localhost', // server name or IP address;
port: 5432,
database: 'Milestone1DB',
user: 'postgres',
password: 'thisissuchagoodpassword'
};
var db = pgp(cn); // database instance;
db.any("select distict state from business order by state;")
.then(data => {
console.log("DATA:", data);
})
.catch(error => {
console.log("ERROR:", error);
});
Я должен что-то упустить, но я не знаю, где искать. Спасибо всем, кто может помочь мне понять, что означает эта ошибка.
pg-promise
неверно. Вместоvar pgp = require('pg-promise');
должно бытьvar pgp = require('pg-promise')(/*initialization options*/);
согласно документации. - person vitaly-t   schedule 02.02.2017require()
в своем приложении, и когда я добавляю второй набор параметров —var pgp = require('pg-promise')();
, как в документации, я получаюrequire(...) is not a function
. Должен ли я использовать что-то помимо Browserify? - person Megan McPherson   schedule 02.02.2017pg-promise
— это строго серверный модуль, с какой стати вам нужно использовать Browserify на нем? :) - person vitaly-t   schedule 02.02.2017