Caleb Jay
Caleb Jay

Reputation: 2199

How do I allow the node pg module communicate with my Windows postgresql server?

I have a node server on localhost. In it is the pg module:

//above is express requires
var pg = require('pg');

var client = new pg.Client();

client.connect((err)=>{
    if(err) throw err;

    client.end((err)=>{
        if(err) throw err;
    });
})
//below is basic express server stuff

I have, I believe, a postgresql server running on windows. I have pgadmin open, there is a localhost:5432 section, and inside is a "test" database I have created.

My node server currently throws:

error: password authentication fails for user 'myname'

I do not understand how I can, either in postgresql's Windows client, set default username/password that is then added to environment variables, or, in Windows add the proper environment variable key/value pairs that the node pg module expects so it can login, or, tell the node pg module how to login to postgresql, or, whether I am even going down the right path at all.

How can I allow my node pg module to connect to my localhost postgresql server?

EDIT: I tried to follow the instructions in this SO answer, however I would always recieve "access denied" errors no matter where I pointed the db creation to, whether I used cmd or powershell in admin or no, and no matter the permissions I set for files. I'm now primarily interacting with postgresql through the pgadmin III GUI.

EDIT2: I tried modifying the pg initialization by doing:

var connectstring = 'postgres://me:password@localhost/dbname';
var client = new pg.Client(connectstring);

I received the same error, using the same exact login details I was prompted with by pgadmin III.

EDIT3: According to these docs, I should possibly have that list of environment variables? If not, where can I find this information so I can manually set these environment variables? Is this the right path to go down?

Upvotes: 0

Views: 417

Answers (1)

Karan Bedi
Karan Bedi

Reputation: 21

Use:

var pg = require('pg');

var config = {
  user: 'foo', 
  database: 'my_db', 
  password: 'secret', 
  port: 5432
};

var pool = new pg.Pool(config);

Upvotes: 1

Related Questions