PostgreSQL 是一款强大的,开源的,对象关系型数据库系统。它支持所有的主流操作系统,包括 Linux、Unix(AIX、BSD、HP-UX,SGI IRIX、Mac OS、Solaris、Tru64) 以及 Windows 操作系统。

下面是 Ubuntu 发起者 Mark Shuttleworth 对 PostgreSQL 的一段评价。

PostgreSQL 是一款极赞的数据库系统。刚开始我们在 Launchpad 上使用它的时候,并不确定它能否胜任工作。但我是错了。它很强壮、快速,在各个方面都很专业。

— Mark Shuttleworth.

在这篇简短的指南中,让我们来看看如何在 Ubuntu 15.10 服务器中安装 PostgreSQL 9.4。

安装 PostgreSQL

默认仓库中就有可用的 PostgreSQL。在终端中输入下面的命令安装它。

  1. 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

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

用下面一行添加仓库:

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

注意: 上面的库只能用于 Ubuntu 14.10。还没有升级到 Ubuntu 15.04 和 15.10。

对于 Ubuntu 14.04,添加下面一行:

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

对于 Ubuntu 12.04,添加下面一行:

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

导入库签名密钥:

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

更新软件包列表:

  1. sudo apt-get update

然后安装需要的版本。

  1. sudo apt-get install postgresql-9.4

访问 PostgreSQL 命令窗口

默认的数据库名称和数据库用户名称都是 “postgres”。切换到 postgres 用户进行 postgresql 相关的操作:

  1. sudo -u postgres psql postgres

示例输出:

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

要退出 postgresql 窗口,在 psql 窗口输入 \q 退出到终端。

设置 “postgres” 用户密码

登录到 postgresql 窗口,

  1. sudo -u postgres psql postgres

用下面的命令为用户 postgres 设置密码:

  1. postgres=# \password postgres
  2. Enter new password:
  3. Enter it again:
  4. postgres=# \q

要安装 PostgreSQL Adminpack 扩展,在 postgresql 窗口输入下面的命令:

  1. sudo -u postgres psql postgres

  1. postgres=# CREATE EXTENSION adminpack;
  2. CREATE EXTENSION

在 psql 窗口输入 \q 从 postgresql 窗口退回到终端。

创建新用户和数据库

例如,让我们创建一个新的用户,名为 “senthil”,密码是 “ubuntu”,以及名为 “mydb” 的数据库。

  1. sudo -u postgres createuser -D -A -P senthil

  1. sudo -u postgres createdb -O senthil mydb

删除用户和数据库

要删除数据库,首先切换到 postgres 用户:

  1. sudo -u postgres psql postgres

输入命令:

  1. $ drop database <database-name>

要删除一个用户,输入下面的命令:

  1. $ drop user <user-name>

配置 PostgreSQL-MD5 验证

MD5 验证 要求用户提供一个 MD5 加密的密码用于认证。首先编辑 /etc/postgresql/9.4/main/pg_hba.conf 文件:

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

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

  1. [...]
  2. # TYPE DATABASE USER ADDRESS METHOD
  3. # "local" is for Unix domain socket connections only
  4. local all all md5
  5. # IPv4 local connections:
  6. host all all 127.0.0.1/32 md5
  7. host all all 192.168.1.0/24 md5
  8. # IPv6 local connections:
  9. host all all ::1/128 md5
  10. [...]

其中, 192.168.1.0/24 是我的本地网络 IP 地址。用你自己的地址替换。

重启 postgresql 服务以使更改生效:

  1. sudo systemctl restart postgresql

或者,

  1. sudo service postgresql restart

配置 PostgreSQL TCP/IP 配置

默认情况下,没有启用 TCP/IP 连接,因此其它计算机的用户不能访问 postgresql。为了允许其它计算机的用户访问,编辑文件/etc/postgresql/9.4/main/postgresql.conf:

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

找到下面一行:

  1. [...]
  2. #listen_addresses = 'localhost'
  3. [...]
  4. #port = 5432
  5. [...]

取消该行的注释,然后设置你 postgresql 服务器的 IP 地址,或者设置为 ‘*’ 监听所有用户。你应该谨慎设置所有远程用户都可以访问 PostgreSQL。

  1. [...]
  2. listen_addresses = '*'
  3. [...]
  4. port = 5432
  5. [...]

重启 postgresql 服务保存更改:

  1. sudo systemctl restart postgresql

或者,

  1. sudo service postgresql restart

用 phpPgAdmin 管理 PostgreSQL

phpPgAdmin 是基于 web 用 PHP 写的 PostgreSQL 管理工具。

默认仓库中有可用的 phpPgAdmin。用下面的命令安装 phpPgAdmin:

  1. sudo apt-get install phppgadmin

默认情况下,你可以在本地系统的 web 浏览器用 http://localhost/phppgadmin 访问 phppgadmin。

要访问远程系统,在 Ubuntu 15.10 上做如下操作:

编辑文件 /etc/apache2/conf-available/phppgadmin.conf,

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

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

  1. #Require local

添加下面的一行:

  1. allow from all

保存并退出文件。

然后重启 apache 服务。

  1. sudo systemctl restart apache2

对于 Ubuntu 14.10 及之前版本:

编辑 /etc/apache2/conf.d/phppgadmin:

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

注释掉下面一行:

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

取消下面一行的注释使所有系统都可以访问 phppgadmin。

  1. allow from all

编辑 /etc/apache2/apache2.conf:

  1. sudo vi /etc/apache2/apache2.conf

添加下面一行:

  1. Include /etc/apache2/conf.d/phppgadmin

然后重启 apache 服务。

  1. sudo service apache2 restart

配置 phpPgAdmin

编辑文件 /etc/phppgadmin/config.inc.php, 做以下更改。下面大部分选项都带有解释。认真阅读以便了解为什么要更改这些值。

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

找到下面一行:

  1. $conf['servers'][0]['host'] = '';

按照下面这样更改:

  1. $conf['servers'][0]['host'] = 'localhost';

找到这一行:

  1. $conf['extra_login_security'] = true;

更改值为 false

  1. $conf['extra_login_security'] = false;

找到这一行:

  1. $conf['owned_only'] = false;

更改值为 true

  1. $conf['owned_only'] = true;

保存并关闭文件。重启 postgresql 服务和 Apache 服务。

  1. sudo systemctl restart postgresql
  2. sudo systemctl restart apache2

或者,

  1. sudo service postgresql restart
  2. sudo service apache2 restart

现在打开你的浏览器并导航到 http://ip-address/phppgadmin。你会看到以下截图。

phpPgAdmin

用你之前创建的用户登录。我之前已经创建了一个名为 “senthil” 的用户,密码是 “ubuntu”,因此我以 “senthil” 用户登录。

phpPgAdmin

然后你就可以访问 phppgadmin 面板了。

phpPgAdmin

用 postgres 用户登录:

phpPgAdmin

就是这样。现在你可以用 phppgadmin 可视化创建、删除或者更改数据库了。

加油!

ubuntu下安装postgres的更多相关文章

  1. 在Ubuntu下安装ovs-dpdk

    在Ubuntu下安装ovs-dpdk 参考资料:https://software.intel.com/zh-cn/articles/using-open-vswitch-with-dpdk-on-ub ...

  2. Ubuntu 下安装QT

    Ubuntu 下安装QT 本文使用的环境 QT Library: qt-everywhere-opensource-src-4.7.4.tar.gz QT Creator: qt-creator-li ...

  3. Ubuntu下安装JDK以及相关配置

    1.查看系统位数,输入以下命令即可 getconf LONG_BIT 2.下载对应的JDK文件,我这里下载的是jdk-8u60-linux-64.tar.gz 3.创建目录作为JDK的安装目录,这里选 ...

  4. Ubuntu下安装mod_python报错(GIT错误)

    Ubuntu下安装mod_python3.4.1版本报出如下错误: writing byte-compilation script '/tmp/tmpE91VXZ.py' /usr/bin/pytho ...

  5. TODO:Ubuntu下安装Node

    TODO:Ubuntu下安装Node Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高 ...

  6. Ubuntu杂记——Ubuntu下安装VMware

    转战Ubuntu,不知道能坚持多久,但是自己还是要努力把转战过程中的学习到的给记录下来.这次就来记录一下,Ubuntu下如何安装VMware. 就我所知,Linux下有VirtualBox和VMwar ...

  7. 来杯Caffe——在ubuntu下安装Caffe框架并测试

    Caffe是一种深度学习框架...blablabla...... Caffe要在ubuntu下安装 1. 安装依赖 sudo apt-get install libatlas-base-dev sud ...

  8. Ubuntu 下安装 Mysql

    这里讲用Ubuntu下安装MySql ubuntu上安装mysql非常简单只需要几条命令就可以完成. 1. sudo apt-get install mysql-server   2. apt-get ...

  9. ubuntu下安装配置OpenCV

    Cmake的安装 我用的是ubuntu-software自动下载安装的. Ubuntu 下安装 OpenCV 首先下载安装相关包,然后下载OpenCV 系统:ubuntu16.04 OpenCV:2. ...

随机推荐

  1. Python一路走来 RabbitMQ

    一:介绍:(induction) Rabbitmq 是一个消息中间件.他的思想就是:接收和发送消息.你可以把它想成一个邮政局.当你把你的邮件发送到邮箱的,首先你需要确认的是:邮政员先生能把你的邮件发送 ...

  2. python django学习资料网站

    python module 模块 https://docs.python.org/2.7/py-modindex.html django框架例子 https://docs.djangoproject. ...

  3. Visual studio 内存不足的解决方案(out of memory)

    编译Visual Studio项目,如果出现"out of memory "的编译错误,可以进行如下操作,加大应用程序可以使用的内存. 请先备份好系统和设置好系统还原点,大体步骤是 ...

  4. [SDOI2008]仪仗队

    P2158 [SDOI2008]仪仗队 题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线 ...

  5. Altium Designer 覆铜时过孔连接形式的设置——只将过孔连接设置为Direct Connect

    Altium Designer 在PCB覆铜时,所有的过孔和焊盘都是十字连接即Relief Connect连接的,没有像PROTEL 99SE一样只有接地的焊盘才是十字连接而过孔是直接连接的. 如下图 ...

  6. DPI情况下处理

    1. 字体不要跟着变大小,那就要使用setPixe,不要使用setPointSize 2. 图片可设置QPixmap::setDevicePixelRatio http://doc.qt.io/qt- ...

  7. .NET中 DAL+IDAL+Model+BLL+Web是什么意思

    在.NET中 DAL+IDAL+Model+BLL+Web是什么意思 http://hi.baidu.com/hexiaojian/item/8d0c1a8e648546d75e0ec1e7 其实三层 ...

  8. Maven--多模块依赖实例解析(五)

    <Maven--搭建开发环境(一)> <Maven--构建企业级仓库(二)> <Maven—几个需要补充的问题(三)> <Maven—生命周期和插件(四)&g ...

  9. HDOJ/HDU 2544 最短路---dijkstra算法

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 这题的思路可以见这里(同一类型):http://blog.csdn.net/xiaozhuaix ...

  10. 利用java反射机制 读取配置文件 实现动态类载入以及动态类型转换

    作者:54dabang 在spring的学习过程之中,我们能够看出通过配置文件来动态管理bean对象的优点(松耦合 能够让零散部分组成一个总体,而这些总体并不在意之间彼此的细节,从而达到了真正的物理上 ...