PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

TypeError:Không thể gọi phương thức 'truy vấn' của null - khi gọi pg.connect với Heroku node.js

Tôi đã gặp vấn đề tương tự với trang web của mình và điều khó chịu hơn là nó hoạt động trên trang web đã triển khai nhưng khi tôi cố gắng chạy trang web cục bộ (sử dụng quản đốc), tôi đã gặp lỗi này. vào cơ sở dữ liệu và từ việc kiểm tra thêm, đây là hai lý do gây ra lỗi này:

  1. Không có biến môi trường DATABASE_URL
    Vì một số lý do, tôi không có process.env.DATABASE_URL được đặt trong tệp .env của tôi mặc dù nó đã được đặt đúng trên trang web từ xa. Để giải quyết vấn đề này, bạn có thể chạy "cấu hình heroku" và sao chép DATABASE_URL cần thiết vào tệp .env cục bộ của bạn (nếu tệp này không tồn tại, hãy tạo một tệp).
    LƯU Ý Quan trọng: Khi bạn sao chép, dán các biến thay đổi char ":" thành "=".

  2. ? ssl =true không phải là một phần của DATABASE_URL
    Nhờ các bản sửa lỗi ở trên, khách hàng bây giờ biết nơi kết nối nhưng nó vẫn không thể mở kết nối do vấn đề xác thực. Bằng cách thêm ? Ssl =true đến DATABASE_URL, nó cuối cùng đã giải quyết được vấn đề cho tôi. Có vẻ như khi bạn đang cố gắng kết nối từ trang web từ xa (máy chủ heroku), bạn không cần phải chuyển tham số nhưng khi bạn cố gắng kết nối với cơ sở dữ liệu từ máy tính cục bộ của mình, bạn cần xác thực này để tạo kết nối thích hợp.

Hy vọng nó sẽ hữu ích.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thêm nguồn dữ liệu PostgreSQL vào WildFly 9.0?

  2. Tôi có nên bao gồm các CHỌN trong một giao dịch không?

  3. làm thế nào để đặt tiền tố một chuỗi trước chuỗi được tạo bởi postgresql?

  4. Cách cài đặt PostgreSQL 12 trên Ubuntu 20.04 DigitalOcean

  5. (Một bảng) lấy các hàng không trong không có liên hợp