当前位置:Gxlcms > mysql > 如何在CentOS7/6.5/6.4下安装PostgreSQL9.3与phpPgAdmin

如何在CentOS7/6.5/6.4下安装PostgreSQL9.3与phpPgAdmin

时间:2021-07-01 10:21:17 帮助过:23人阅读

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

人气教程排行