簡體   English   中英

如何配置 PostgreSQL 以允許 TCP/IP 連接?

[英]How to configure PostgreSQL to allow TCP/IP connections?

我正在嘗試將 web 應用程序推送到 Heroku,但在讓 Postgres 接受 TCP/IP 連接時遇到問題。 我已經瀏覽了關於這個主題的所有問題/答案,但仍然無法解決這個問題。 我是數據庫/網絡開發的新手,非常感謝任何幫助!

在 postgresql.conf 中,我將監聽地址變量從 localhost 更改為#listen_addresses = '*' 端口看起來正確: #port = 5432

我還在pg_hba.conf添加了0.0.0.0 (這是正確的順序嗎?):

# TYPE   DATABASE       USER        ADDRESS          METHOD
local       all         all                           trust
host        all         all          0.0.0.0/0        md5
host        all         all        127.0.0.1/32       trust
host        all         all         ::1/128           trust

添加該地址后,當我在終端中調用postgres時,它運行但出現致命錯誤:

LOG:  database system was shut down at 2015-09-06 16:21:43 PDT
LOG:  MultiXact member wraparound protections are now enabled
LOG:  database system is ready to accept connections
LOG:  autovacuum launcher started
FATAL:  database "admin" does not exist

當我嘗試啟動psql ,同樣的消息:

psql: FATAL:  database "admin" does not exist

我能夠通過另一個數據庫連接到psqlpsql -d template1並創建了一個新的管理數據庫。 然后我創建了我的應用程序所需的數據庫,並通過使用 Gradle 運行我的項目來確保它可以正常運行。 在此過程中,我多次完全停止服務器以查看更改是否有效。

Heroku 日志仍然顯示我在更改 Postgres 配置文件之前遇到的相同問題:

Caused by: org.postgresql.util.PSQLException: Connection to
localhost:5432 refused. Check that the hostname and port are correct
and that the postmaster is accepting TCP/IP connections.

當我訪問http://localhost:5432/ 時,它顯示“未收到數據”和錯誤“無法加載網頁,因為服務器沒有發送數據”。

謝謝你的幫助!

版本:Mac OSX 10.10.5、PostgreSQL 9.4.4、Heroku 3.41.5、Gradle 2.5、Java 1.8.0_51。 全部使用 Homebrew 安裝。

在我看來,您正在運行自己的獨立 Postgres 數據庫——這是正確的嗎? 如果您正在使用 Heroku,則很有可能——這不是一個好主意。

Heroku 的主要好處之一是它可以為您處理服務器維護/恢復等——這就是它的主要好處是 =)

考慮到上述情況,我建議您使用Heroku Postgres而不是運行您自己的 Postgres 數據庫。 它不僅是世界上最大的托管服務Postgres的-它已經撒手人寰,基本上沒有漏洞,允許你做噸真棒的東西(即時提供讀取從站/備用主站/等),甚至還獲得了豐厚免費計划

真的沒有理由不使用它 =)

要使用 Heroku Postgres 進行說明,您可以簡單地說:

$ heroku addons:add heroku-postgresql:dev

這將為您生成一個新數據庫,您的應用程序可以通過名為DATABASE_URL的預定義環境變量訪問該DATABASE_URL 只需將該 URL 提供給您的 Web 框架/應用程序代碼,並將其連接到該 URL - 它包括用戶名/密碼 / 等,並且應該可以輕松工作。

您可能還想查看入門指南以獲取更多信息: https : //devcenter.heroku.com/articles/heroku-postgresql

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM