PostgreSQL 是一款强大的,开源的,对象关系型数据库系统。它支持全部的主流操做系统,包括 Linux、Unix(AIX、BSD、HP-UX,SGI IRIX、Mac OS、Solaris、Tru64) 以及 Windows 操做系统。php
下面是 Ubuntu 发起者 Mark Shuttleworth 对 PostgreSQL 的一段评价。web
PostgreSQL 是一款极赞的数据库系统。刚开始咱们在 Launchpad 上使用它的时候,并不肯定它可否胜任工做。但我是错了。它很强壮、快速,在各个方面都很专业。sql
— Mark Shuttleworth.数据库
在这篇简短的指南中,让咱们来看看如何在 Ubuntu 15.10 服务器中安装 PostgreSQL 9.4。apache
默认仓库中就有可用的 PostgreSQL。在终端中输入下面的命令安装它。ubuntu
sudo apt-get install postgresql postgresql-contrib
若是你须要其它的版本,按照下面那样先添加 PostgreSQL 仓库而后再安装。浏览器
PostgreSQL apt 仓库 支持 amd64 和 i386 架构的 Ubuntu 长期支持版(10.0四、12.04 和 14.04),以及非长期支持版(14.10)。对于其它非长期支持版,该软件包虽然没有彻底支持,但使用和 LTS 版本近似的也能正常工做。服务器
新建文件/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
默认的数据库名称和数据库用户名称都是 “postgres”。切换到 postgres 用户进行 postgresql 相关的操做:
sudo -u postgres psql postgres
psql (9.4.5)
Type "help" for help.
postgres=#
要退出 postgresql 窗口,在 psql 窗口输入 \q 退出到终端。
登陆到 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>
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
默认状况下,没有启用 TCP/IP 链接,所以其它计算机的用户不能访问 postgresql。为了容许其它计算机的用户访问,编辑文件/etc/postgresql/9.4/main/postgresql.conf:
sudo vi /etc/postgresql/9.4/main/postgresql.conf
找到下面一行:
[...]
#listen_addresses = 'localhost'
[...]
#port = 5432
[...]
取消该行的注释,而后设置你 postgresql 服务器的 IP 地址,或者设置为 ‘*’ 监听全部用户。你应该谨慎设置全部远程用户均可以访问 PostgreSQL。
[...]
listen_addresses = '*'
[...]
port = 5432
[...]
重启 postgresql 服务保存更改:
sudo systemctl restart postgresql
或者,
sudo service postgresql restart
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
编辑文件 /etc/phppgadmin/config.inc.php, 作如下更改。下面大部分选项都带有解释。认真阅读以便了解为何要更改这些值。
sudo nano /etc/phppgadmin/config.inc.php
找到下面一行:
$conf['servers'][0]['host'] = '';
按照下面这样更改:
$conf['servers'][0]['host'] = 'localhost';
找到这一行:
$conf['extra_login_security'] = true;
更改值为 false。
$conf['extra_login_security'] = false;
找到这一行:
$conf['owned_only'] = false;
更改值为 true。
$conf['owned_only'] = 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 可视化建立、删除或者更改数据库了。
加油!