43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
require('dotenv').config();
|
|
const { Client } = require('pg');
|
|
|
|
const config = {
|
|
host: process.env.DB_HOST,
|
|
user: process.env.DB_USER,
|
|
password: process.env.DB_PASSWORD,
|
|
database: process.env.DB_NAME,
|
|
port: process.env.DB_PORT,
|
|
};
|
|
|
|
console.log('--- Database Connection Diagnostic ---');
|
|
console.log(`Host: ${config.host}`);
|
|
console.log(`User: ${config.user}`);
|
|
console.log(`Database: ${config.database}`);
|
|
console.log(`Port: ${config.port}`);
|
|
console.log(`Password: ${config.password ? '**** (Set)' : '(Not Set!)'}`);
|
|
console.log('--------------------------------------');
|
|
|
|
const client = new Client(config);
|
|
|
|
(async () => {
|
|
try {
|
|
await client.connect();
|
|
console.log('✅ Connection Successful!');
|
|
const res = await client.query('SELECT current_user, current_database()');
|
|
console.log('Connected as:', res.rows[0]);
|
|
await client.end();
|
|
} catch (err) {
|
|
console.error('❌ Connection Failed!');
|
|
console.error('Error Code:', err.code);
|
|
console.error('Message:', err.message);
|
|
if (err.code === '28P01') {
|
|
console.log('\nPossible causes for 28P01 (Auth Failed):');
|
|
console.log('1. Wrong password.');
|
|
console.log('2. Wrong username.');
|
|
console.log('3. User exists but has no password set in DB.');
|
|
}
|
|
await client.end();
|
|
process.exit(1);
|
|
}
|
|
})();
|