Linux中國

在 Ubuntu 上安裝世界上最先進的開源資料庫 PostgreSQL 9.4 和 phpPgAdmin

簡介

PostgreSQL 是一款強大的,開源的,對象關係型資料庫系統。它支持所有的主流操作系統,包括 Linux、Unix(AIX、BSD、HP-UX,SGI IRIX、Mac OS、Solaris、Tru64) 以及 Windows 操作系統。

下面是 Ubuntu 發起者 Mark ShuttleworthPostgreSQL 的一段評價。

PostgreSQL 是一款極贊的資料庫系統。剛開始我們在 Launchpad 上使用它的時候,並不確定它能否勝任工作。但我是錯了。它很強壯、快速,在各個方面都很專業。

— Mark Shuttleworth.

在這篇簡短的指南中,讓我們來看看如何在 Ubuntu 15.10 伺服器中安裝 PostgreSQL 9.4。

安裝 PostgreSQL

默認倉庫中就有可用的 PostgreSQL。在終端中輸入下面的命令安裝它。

sudo apt-get install postgresql postgresql-contrib

如果你需要其它的版本,按照下面那樣先添加 PostgreSQL 倉庫然後再安裝。

PostgreSQL apt 倉庫 支持 amd64 和 i386 架構的 Ubuntu 長期支持版(10.04、12.04 和 14.04),以及非長期支持版(14.10)。對於其它非長期支持版,該軟體包雖然沒有完全支持,但使用和 LTS 版本近似的也能正常工作。

Ubuntu 14.10 系統:

新建文件/etc/apt/sources.list.d/pgdg.list

sudo vi /etc/apt/sources.list.d/pgdg.list

用下面一行添加倉庫:

deb http://apt.postgresql.org/pub/repos/apt/ utopic-pgdg main

注意: 上面的庫只能用於 Ubuntu 14.10。還沒有升級到 Ubuntu 15.04 和 15.10。

對於 Ubuntu 14.04,添加下面一行:

deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main

對於 Ubuntu 12.04,添加下面一行:

deb http://apt.postgresql.org/pub/repos/apt/ precise-pgdg main

導入庫簽名密鑰:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

更新軟體包列表:

sudo apt-get update

然後安裝需要的版本。

sudo apt-get install postgresql-9.4

訪問 PostgreSQL 命令窗口

默認的資料庫名稱和資料庫用戶名稱都是 「postgres」。切換到 postgres 用戶進行 postgresql 相關的操作:

sudo -u postgres psql postgres

示例輸出:

psql (9.4.5)
Type "help" for help.
postgres=#

要退出 postgresql 窗口,在 psql 窗口輸入 q 退出到終端。

設置 「postgres」 用戶密碼

登錄到 postgresql 窗口,

sudo -u postgres psql postgres

用下面的命令為用戶 postgres 設置密碼:

postgres=# password postgres 
Enter new password: 
Enter it again: 
postgres=# q

要安裝 PostgreSQL Adminpack 擴展,在 postgresql 窗口輸入下面的命令:

sudo -u postgres psql postgres
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION

psql 窗口輸入 q 從 postgresql 窗口退回到終端。

創建新用戶和資料庫

例如,讓我們創建一個新的用戶,名為 「senthil」,密碼是 「ubuntu」,以及名為 「mydb」 的資料庫。

sudo -u postgres createuser -D -A -P senthil
sudo -u postgres createdb -O senthil mydb

刪除用戶和資料庫

要刪除資料庫,首先切換到 postgres 用戶:

sudo -u postgres psql postgres

輸入命令:

$ drop database <database-name>

要刪除一個用戶,輸入下面的命令:

$ drop user <user-name>

配置 PostgreSQL-MD5 驗證

MD5 驗證 要求用戶提供一個 MD5 加密的密碼用於認證。首先編輯 /etc/postgresql/9.4/main/pg_hba.conf 文件:

sudo vi /etc/postgresql/9.4/main/pg_hba.conf

按照下面所示添加或修改行

[...]
# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.168.1.0/24          md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
[...]

其中, 192.168.1.0/24 是我的本地網路 IP 地址。用你自己的地址替換。

重啟 postgresql 服務以使更改生效:

sudo systemctl restart postgresql

或者,

sudo service postgresql restart

配置 PostgreSQL TCP/IP 配置

默認情況下,沒有啟用 TCP/IP 連接,因此其它計算機的用戶不能訪問 postgresql。為了允許其它計算機的用戶訪問,編輯文件 /etc/postgresql/9.4/main/postgresql.conf:

sudo vi /etc/postgresql/9.4/main/postgresql.conf

找到下面一行:

[...]
#listen_addresses = &apos;localhost&apos;
[...]
#port = 5432
[...]

取消該行的注釋,然後設置你 postgresql 伺服器的 IP 地址,或者設置為 『*』 監聽所有用戶。你應該謹慎設置所有遠程用戶都可以訪問 PostgreSQL。

[...]
listen_addresses = &apos;*&apos;
[...]
port = 5432
[...]

重啟 postgresql 服務保存更改:

sudo systemctl restart postgresql

或者,

sudo service postgresql restart

用 phpPgAdmin 管理 PostgreSQL

phpPgAdmin 是基於 web 用 PHP 寫的 PostgreSQL 管理工具。

默認倉庫中有可用的 phpPgAdmin。用下面的命令安裝 phpPgAdmin:

sudo apt-get install phppgadmin

默認情況下,你可以在本地系統的 web 瀏覽器用 http://localhost/phppgadmin 訪問 phppgadmin。

要訪問遠程系統,在 Ubuntu 15.10 上做如下操作:

編輯文件 /etc/apache2/conf-available/phppgadmin.conf,

sudo vi /etc/apache2/conf-available/phppgadmin.conf

找到 Require local 的一行在這行前面添加 # 注釋掉它。

#Require local

添加下面的一行:

allow from all

保存並退出文件。

然後重啟 apache 服務。

sudo systemctl restart apache2

對於 Ubuntu 14.10 及之前版本:

編輯 /etc/apache2/conf.d/phppgadmin:

sudo nano /etc/apache2/conf.d/phppgadmin

注釋掉下面一行:

[...]
#allow from 127.0.0.0/255.0.0.0 ::1/128

取消下面一行的注釋使所有系統都可以訪問 phppgadmin。

allow from all

編輯 /etc/apache2/apache2.conf:

sudo vi /etc/apache2/apache2.conf

添加下面一行:

Include /etc/apache2/conf.d/phppgadmin

然後重啟 apache 服務。

sudo service apache2 restart

配置 phpPgAdmin

編輯文件 /etc/phppgadmin/config.inc.php, 做以下更改。下面大部分選項都帶有解釋。認真閱讀以便了解為什麼要更改這些值。

sudo nano /etc/phppgadmin/config.inc.php

找到下面一行:

$conf[&apos;servers&apos;][0][&apos;host&apos;] = &apos;&apos;;

按照下面這樣更改:

$conf[&apos;servers&apos;][0][&apos;host&apos;] = &apos;localhost&apos;;

找到這一行:

$conf[&apos;extra_login_security&apos;] = true;

更改值為 false

$conf[&apos;extra_login_security&apos;] = false;

找到這一行:

$conf[&apos;owned_only&apos;] = false;

更改值為 true

$conf[&apos;owned_only&apos;] = true;

保存並關閉文件。重啟 postgresql 服務和 Apache 服務。

sudo systemctl restart postgresql

sudo systemctl restart apache2

或者,

sudo service postgresql restart

sudo service apache2 restart

現在打開你的瀏覽器並導航到 http://ip-address/phppgadmin。你會看到以下截圖。

phpPgAdmin

用你之前創建的用戶登錄。我之前已經創建了一個名為 「senthil」 的用戶,密碼是 「ubuntu」,因此我以 「senthil」 用戶登錄。

phpPgAdmin

然後你就可以訪問 phppgadmin 面板了。

phpPgAdmin

用 postgres 用戶登錄:

phpPgAdmin

就是這樣。現在你可以用 phppgadmin 可視化創建、刪除或者更改資料庫了。

加油!

via: http://www.unixmen.com/install-postgresql-9-4-and-phppgadmin-on-ubuntu-15-10/

作者:SK 譯者:ictlyh 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國