Home  >  Article  >  Database  >  如何在CentOS 7/6.5/6.4 下安装PostgreSQL 9.3 与 phpPgAdmin

如何在CentOS 7/6.5/6.4 下安装PostgreSQL 9.3 与 phpPgAdmin

WBOY
WBOYOriginal
2016-06-07 16:42:44984browse

PostgreSQL是一个强大开源的对象关系类型数据库系统,它能运行于几乎所有主要的操作系统,包括Linux、Unix(AIX、BSD、HP-UX、SGI

PostgreSQL是一个强大开源的对象关系类型数据库系统,它能运行于几乎所有主要的操作系统,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS、Solaris、Tru64)、Windows OS。在这篇教程里,我们将学习如何在CentOS7/6.5/6.4 server 中建立PostgreSQL。 

1.安装PostgreSQL 

首先根据你的服务器架构添加PostgreSQL库:

 对CentOS 6.x 32bit:

    rpm -Uvh 1.noarch.rpm

对CentOS 6.x 64bit:

    rpm -Uvh

对CentOS 7 64bit:

    rpm -Uvh

对于其它的发行版,可查看以下链接并建立库:

 

使用以下命令来更新库:

      yum update 

使用以下命令来安装PostgreSQL:

      yum install postgresql93-server postgresql93-contrib 

使用以下命令来初始化PostgreSQL数据库:

在CentOS 6.x 系统中:

    service postgresql-9.3 initdb

在CentOS 7系统中:

    /usr/pgsql-9.3/bin/postgresql93-setup initdb 

然后启动PostgreSQL服务并使之开机自启:

在CentOS 6.x 系统中:

      service postgresql-9.3 start

      chkconfig postgresql-9.3 on 

在CentOS 7系统中:

    systemctl enable postgresql-9.3

    systemctl start postgresql-9.3 

2.调整Iptables/Firewall

    接下来调整防火墙出站规则:

在CentOS 6.x系统中:

    vi /etc/sysconfig/iptables 

并添加以下行

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 

退出并保存文件。重启iptables服务:

   service iptables restart 

在CentOS系统中:

    firewall-cmd --permanent –add-port=5432/tcp

    firewall-cmd --permanent –add-port=80/tcp

    firewall-cmd --reload 

3.访问PostgreSQL常用的命令提示符

默认情况下数据库名和用户名都是postgres。切换至用户以执行相关操作:

    su – postgres

输入以下命令登陆:

    psql

会有以下样例输出:

    psql (9.3.5)

    Type "help" for help.

    Postgres=# 

可通过输入\q退出postgresql返回命令终端: 

4.设置用户密码

登陆至postgres命令提示符界面

  su – postgres 

  psql 

然后使用命令设置密码

  postgres=# \password postgres

    Enter new password:

    Enter it again:

    postgres=# \q

输入命令以建立PostgreSQL系统管理工具

    postgres=# CREATE EXTENSION adminpack;

  CREATE EXTENSION 

5.创建用户和数据库

例如:用户名:senthil    密码:centos  数据库名:mydb

转到postgres用户

su – postgres

创建用户senthil

$ createuser senthil

创建数据库

$ createdb mydb 

现在登陆至psql提示符界面,为用户senthil设置密码及授权对数据库mydb的访问:

$ psql 

psql (9.3.5)

Type "help" for help. 

postgres=# alter user senthil with encrypted password 'centos';

ALTER ROLE 

postgres=# grant all privileges on database mydb to senthil;

GRANT

postgres=# 

6.删除用户和数据库

首先转到postgres界面

su – postgres

输入命令

$ dropdb

删除用户名可输入

$ dropuser  

7.配置PostgreSQL-MD5认证

MD5认证需要客户端提供一个MD5-encrypted 密码以便身份验证。你需要编辑 /var/lib/pgsql/9.3/data/pg_hba.conf文件:

vi /var/lib/pgsql/9.3/data/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

[...]

重启postgresql服务以应用更改

在CentOS 6.x系统中

service postgresql-9.3 restart 

在CentOS 7系统中

systemctl restart postgresql-9.3 

8.配置PostgreSQL-Configure TCP/IP

默认情况下,,TCP/IP连接是不可行的,所以其他计算机用户不能连接到postgresql。编辑文件 /var/lib/pgsql/9.3/data/postgresql.conf可以允许连接:

vi /var/lib/pgsql/9.3/data/postgresql.conf 

找到下面的行:

[...]

#listen_addresses = 'localhost’

[...]

#port = 5432

[...]

把两行都取消并设置为你的postgresql服务器IP地址或设置为“*”监听所有客户端。如下所示:

listen_addresses = '*'

port = 5432

重启以应用更改

在CentOS6.x系统中:

/etc/init.d/postgresql-9.3 restart

在CentOS7系统中:

systemctl restart postgresql-9.3 

9.使用phpPgAdmin管理PostgreSQL

phpPgAdmin是使用PHP编写的基于web的管理工具,用于管理PostgreSQL。它只适用与PostgreSQL RPM库。

如果你没有添加PostgreSQL库,你可以添加EPEL库。

可根据下面的链接在CentOS 6.x中建立EPEL库

CentOS 7的话参考下面的链接

使用命令更新库

yum update

现在输入命令安装phpPgAdmin:

yum install phpPgAdmin httpd

注意phpPgAdmin区分大小写,要准确使用上面所示的大小写!

默认你可以使用访问phpPgAdmin。若要远程访问需要继续:

编辑文件/etc/httpd/conf.d/phpPgAdmin.conf

vi /etc/httpd/conf.d/phpPgAdmin.conf

修改如下加粗的部分:

[...]

Alias /phpPgAdmin /usr/share/phpPgAdmin

 

 

        # Apache 2.4

        Require all granted

        #Require host example.com

 

 

        # Apache 2.2

        Order deny,allow

        Allow from all

        # Allow from .example.com

   

 

启动或重启Apache服务

在CentOS 6.x系统中

service httpd start

chkconfig httpd on

 

在CentOS 7系统中

systemctl enable httpd

systemctl start httpd 

现在打开浏览器并转到。终于看到下面的界面了!

使用你之前创建的用户登录,我的是用户senthil密码CentOS。

 

你可能会遇到:Login failed。

这是因为SELLinux可能限制用户连接到PostgreSQL,只需输入以下命令更改即可:

setsebool -P httpd_can_network_connect_db 1

现在你应该能正常登录了。

我的phpPgAdimn如下:

OK!现在你就可以使用图形化界面的phpPgAdmin创建、删除和管理数据库了。

英文原文:How To Install PostgreSQL 9.3 And phpPgAdmin In CentOS 7/6.5/6.4

译者:暗 想了解作者请访问Linux公社

本文由 Linux公社翻译组 原创翻译  Linux公社推出

本文永久更新链接地址:

------------------------------------华丽丽的分割线------------------------------------

CentOS 6.3环境下yum安装PostgreSQL 9.3

PostgreSQL缓存详述

Windows平台编译 PostgreSQL

Ubuntu下LAPP(Linux+Apache+PostgreSQL+PHP)环境的配置与安装

Ubuntu上的phppgAdmin安装及配置

CentOS平台下安装PostgreSQL9.3

PostgreSQL配置Streaming Replication集群

------------------------------------华丽丽的分割线------------------------------------

PostgreSQL 的详细介绍:请点这里
PostgreSQL 的下载地址:请点这里

linux

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn