Unknown auth message code 1397113172 when connect to Heroku postgres

Viewed 162

Thanks reading my issue.

Currently, I am using postgres (hobby-dev) on Heroku and facing this issue every time that I connect to the database.

error: Uncaught (in promise) Error: Unknown auth message code 1397113172
        throw new Error(`Unknown auth message code ${code}`);
              ^
    at Connection.handleAuth (connection.ts:197:15)
    at Connection.startup (connection.ts:155:16)
    at async Pool._createConnection (pool.ts:32:5)
    at async pool.ts:61:7
    at async Promise.all (index 0)
    at async Pool._startup (pool.ts:63:25)

My application using Deno now

import { Pool } from "https://deno.land/x/postgres/mod.ts";
import { config } from "./config.ts";

const port = config.DB_PORT ? parseInt(config.DB_PORT || "") : undefined;

const POOL_CONNECTIONS = 20;
const dbPool = new Pool({
  port,
  hostname: config.DB_HOST,
  user: config.DB_USER,
  database: config.DB_NAME,
  password: config.DB_PASS
}, POOL_CONNECTIONS);

export { dbPool };

Here is debug screen.

enter image description here

I have found this issue post and it mentioned about lacking ssl. Not sure how to do it on heroku.

I have tried some solutions, even change lib to pg and it still not work. I am very appreciated if any clue or help to fix this issue.

Note:

  • I read a document on heroku about "Heroku Postgres Connection Pooling is not available for Hobby-tier databases.". Then I switched to use Client with syntax similar like this to connect to Heroku postgres this:
import { Client } from "https://deno.land/x/postgres/mod.ts";

let config;

config = {
  hostname: "localhost",
  port: 5432,
  user: "user",
  database: "test",
  applicationName: "my_custom_app"
};
// alternatively
config = "postgres://user@localhost:5432/test?application_name=my_custom_app";

const client = new Client(config);
await client.connect();
await client.end();

ref: https://deno-postgres.com/#/

0 Answers
Related