在 Ubuntu 上安装世界上最先进的开源数据库 PostgreSQL 9.4 和 phpPgAdmin

本文涉及的产品
云原生数据库 PolarDB MySQL 版,通用型 2核4GB 50GB
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介:

在 Ubuntu 上安装世界上最先进的开源数据库 PostgreSQL 9.4 和 phpPgAdmin



简介

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 可视化创建、删除或者更改数据库了。

加油!




本文来自云栖社区合作伙伴“Linux中国”

原文发布时间为:2013-04-02.

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
1月前
|
关系型数据库 Go 网络安全
go语言中PostgreSQL驱动安装
【11月更文挑战第2天】
64 5
|
1月前
|
Ubuntu 开发工具 git
Ubuntu安装homebrew的完整教程
本文介绍了如何在没有公网的情况下安装 Homebrew。首先访问 Homebrew 官网,然后通过阿里云的镜像克隆安装脚本,并创建普通用户进行安装。接着修改 `install.sh` 文件指向国内镜像,执行安装命令。最后配置环境变量并更换 Homebrew 源为国内镜像,确保安装顺利。
220 50
|
23天前
|
Ubuntu
ubuntu和debian 的安装包dpkg管理命令对安装包进行安装,查询,卸载
Ubuntu dpkg 软件包管理命令概览:安装、卸载、查看和配置软件包。包括解决依赖、强制卸载、列出及过滤已安装包、查看包详情等操作。
53 10
|
25天前
|
Ubuntu API 开发工具
PSOPT在Ubuntu22.04下的安装
通过上述步骤,可以在Ubuntu 22.04下成功安装并配置PSOPT。PSOPT是一个功能强大的工具,适用于解决各种最优控制问题。确保在安装前满足系统要求,并仔细按照步骤操作,可以避免大多数常见问题。通过MATLAB与PSOPT的结合,您可以更高效地处理复杂的控制问题,并获得准确的解决方案。
31 5
|
26天前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
|
1月前
|
数据库
|
1月前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
158 4
|
1月前
|
消息中间件 Ubuntu Java
Ubuntu系统上安装Apache Kafka
Ubuntu系统上安装Apache Kafka
|
SQL Cloud Native 关系型数据库
ADBPG(AnalyticDB for PostgreSQL)是阿里云提供的一种云原生的大数据分析型数据库
ADBPG(AnalyticDB for PostgreSQL)是阿里云提供的一种云原生的大数据分析型数据库
1299 1
|
数据可视化 关系型数据库 MySQL
将 PostgreSQL 迁移到 MySQL 数据库
将 PostgreSQL 迁移到 MySQL 数据库
1784 2