pgAdmin 9.5 未顯示所有數據庫
我的數據庫有問題。我在我的 Ubuntu 伺服器上安裝了 PostgreSQL 9.5。我更改了postgresql.conf文件以允許將 PostgreSQL 伺服器綁定到 localhost。這允許我執行 pgAdmin 並通過轉發我執行 PostgreSQL 的埠 5432 連接到我的數據庫。
我遇到的問題是我只看到預設表“postgres”,但看不到我新創建的一個“遊戲”。
postgres=# create database games;
我通過與連接到伺服器的 postgres 使用者一起執行來創建此表。我知道數據庫已創建,因為如果我postgres=# \l+
在連接到伺服器時執行,我會得到一個數據庫列表,包括我的“遊戲”。第二張圖片是 pgAdmin 9.5 應用程序的螢幕截圖,其中包含我用來連接伺服器的所有屬性值。所以我設法連接到伺服器,但我無法看到數據庫“遊戲”。
我還更進一步,通過執行將所有權限授予 postgres 使用者
postgres=# grant all privileges on database games to postgres;
。您可以在我的第三個螢幕截圖中看到訪問權限已更改。但是這種變化並沒有幫助我解決問題。我仍然無法在 pgAdmin 中看到“遊戲”。我看到有人有類似的問題並在伺服器上右鍵點擊並點擊“新建數據庫”。這似乎創建了一個新數據庫,因為從 pgAdmin 中可以看到,應用程序能夠找到我在 pgAdmin 中創建的分數表。我認為是這種情況的原因是,因為執行相同的 SQL 連接到伺服器 games=# select * from score; 導致錯誤:關係“分數”不存在第 1 行:從分數中選擇 *;。
我出錯的任何其他想法。將不勝感激我能得到的任何幫助。
我可以登錄到我的數據庫。當我執行時
psql games postgres
,這將使用 postgres 使用者登錄我的遊戲數據庫。這也是我登錄並執行 select 語句的方式:games=# select * from score;
錯誤:關係“分數”不存在第 1 行:從分數中選擇 *;
我更進一步,列印了我們在“遊戲”中的表格:
games=# \dt
未找到任何關係。
您可以使用 psql 登錄您的遊戲數據庫嗎?
我可以看到,第一張圖片讓您連接到 localhost:5432,第二張(psql 連接)您正在連接到 jkalancic@vps73162 - 在似乎是 telnet 會話上 - 你確定你是在同一台機器上查看相同的數據庫?
$$ Following OP’s answer $$ 下一次的提示——你可以從原始碼安裝,而不是弄亂 /etc/postgresql——除非你這樣做,否則你永遠不能絕對確定你沒有混合客戶端、伺服器和埠。我一直這樣做是為了安裝 - 在 Linux 上,我看到你在 Ubuntu 上,所以這應該是小菜一碟。
PostgreSQL 非常適合這種事情。第一次直接工作 - 您可以定制提示以指向您的各種安裝 - 如果您想在埠 5432 上放置多個伺服器,請確保關閉(在您的啟動腳本中)。