Как подключиться к базе данных PostgreSQL без имени «базы данных» из AWS RDS - PullRequest
0 голосов
/ 25 июня 2018

Используя пакет pg для узла, pg, я пытаюсь подключиться к базе данных PostgreSQL, созданной в AWS-RDS.Я считаю, что БД НЕ было дано имя при создании экземпляра, обратите внимание, что экземпляр отличается от БД.Когда я пытаюсь подключиться, используя Client или Pool из pg, мой синтаксис:

const client = new Client({
  host     : <<RDS ENDPOINT>>,
  user     : <<RDS DB USERNAME>>,
  password : <<RDS DB PASSWORD>>,
  port     : <<RDS DB PORT>>
});
client.connect()
  .then(data => {
    console.log('connected');
  })
  .catch(err => {
    console.log(err);
  })

Но каждый раз, когда мне возвращают error: database <<linux user name>> does not exist.

, я создаю новый PostgreSQL.экземпляр и предоставив имя для БД, я могу добавить database prop в мою Client конфигурацию объектов, и все работает, и мне возвращается консольный журнал connected.

Так что мой вопросКак я могу подключиться к БД в AWS-RDS без предоставления database реквизита в моей конфигурации Client?

Правка

правка 1

Предоставление database проп с пустой строкой будет перезаписано моим именем пользователя linux

1 Ответ

0 голосов
/ 26 июня 2018

С пакетом node-postgres вам нужно предоставить базу данных в свой объект конфигурации Client / Pool.Если у вашей БД PostgreSQL нет имени, скажем, если вы создали его с помощью AWS-RDS, тогда для этого ИМЯ БД по умолчанию будет postgres.Простое предоставление базы данных postgres должно решить любые проблемы с безымянной БД.

const client = new Client({
  host     : <<RDS ENDPOINT>>,
  user     : <<RDS DB USERNAME>>,
  password : <<RDS DB PASSWORD>>,
  port     : <<RDS DB PORT>>,
  database : 'postgres' // supplying a database name with `postgres`

});
...