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

\u5982\u4f55\u5728CentOS 7/6.5/6.4 \u4e0b\u5b89\u88c5PostgreSQL 9.3 \u4e0e phpPgAdmin

.\u5b89\u88c5PostgreSQL
\u9996\u5148\u6839\u636e\u4f60\u7684\u670d\u52a1\u5668\u67b6\u6784\u6dfb\u52a0PostgreSQL\u5e93\uff1a
\u5bf9\u4e8e\u5176\u5b83\u7684\u53d1\u884c\u7248\uff0c\u53ef\u67e5\u770b\u4ee5\u4e0b\u94fe\u63a5\u5e76\u5efa\u7acb\u5e93\uff1a
\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6765\u66f4\u65b0\u5e93\uff1a
yum update
\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6765\u5b89\u88c5PostgreSQL\uff1a
yum install postgresql93-server postgresql93-contrib
\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6765\u521d\u59cb\u5316PostgreSQL\u6570\u636e\u5e93\uff1a
\u5728CentOS 6.x \u7cfb\u7edf\u4e2d\uff1a
service postgresql-9.3 initdb
\u5728CentOS 7\u7cfb\u7edf\u4e2d\uff1a
/usr/pgsql-9.3/bin/postgresql93-setup initdb
\u7136\u540e\u542f\u52a8PostgreSQL\u670d\u52a1\u5e76\u4f7f\u4e4b\u5f00\u673a\u81ea\u542f\uff1a
\u5728CentOS 6.x \u7cfb\u7edf\u4e2d\uff1a
service postgresql-9.3 start
chkconfig postgresql-9.3 on
\u5728CentOS 7\u7cfb\u7edf\u4e2d\uff1a
systemctl enable postgresql-9.3
systemctl start postgresql-9.3
2.\u8c03\u6574Iptables/Firewall
\u63a5\u4e0b\u6765\u8c03\u6574\u9632\u706b\u5899\u51fa\u7ad9\u89c4\u5219\uff1a
\u5728CentOS 6.x\u7cfb\u7edf\u4e2d\uff1a
vi /etc/sysconfig/iptables
\u5e76\u6dfb\u52a0\u4ee5\u4e0b\u884c
-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
\u9000\u51fa\u5e76\u4fdd\u5b58\u6587\u4ef6\u3002\u91cd\u542fiptables\u670d\u52a1\uff1a
service iptables restart
\u5728CentOS\u7cfb\u7edf\u4e2d\uff1a
firewall-cmd --permanent \u2013add-port=5432/tcp
firewall-cmd --permanent \u2013add-port=80/tcp
firewall-cmd --reload
3.\u8bbf\u95eePostgreSQL\u5e38\u7528\u7684\u547d\u4ee4\u63d0\u793a\u7b26
\u9ed8\u8ba4\u60c5\u51b5\u4e0b\u6570\u636e\u5e93\u540d\u548c\u7528\u6237\u540d\u90fd\u662fpostgres\u3002\u5207\u6362\u81f3\u7528\u6237\u4ee5\u6267\u884c\u76f8\u5173\u64cd\u4f5c\uff1a
su \u2013 postgres
\u8f93\u5165\u4ee5\u4e0b\u547d\u4ee4\u767b\u9646\uff1a
psql
\u4f1a\u6709\u4ee5\u4e0b\u6837\u4f8b\u8f93\u51fa\uff1a
psql (9.3.5)
Type "help" for help.
Postgres=#
\u53ef\u901a\u8fc7\u8f93\u5165\q\u9000\u51fapostgresql\u8fd4\u56de\u547d\u4ee4\u7ec8\u7aef\uff1a
4.\u8bbe\u7f6e\u7528\u6237\u5bc6\u7801
\u767b\u9646\u81f3postgres\u547d\u4ee4\u63d0\u793a\u7b26\u754c\u9762
su \u2013 postgres
psql
\u7136\u540e\u4f7f\u7528\u547d\u4ee4\u8bbe\u7f6e\u5bc6\u7801
postgres=# \password postgres
Enter new password:
Enter it again:
postgres=# \q
\u8f93\u5165\u547d\u4ee4\u4ee5\u5efa\u7acbPostgreSQL\u7cfb\u7edf\u7ba1\u7406\u5de5\u5177
postgres=# CREATE EXTENSION adminpack;
CREATE EXTENSION
5.\u521b\u5efa\u7528\u6237\u548c\u6570\u636e\u5e93
\u4f8b\u5982\uff1a\u7528\u6237\u540d\uff1asenthil \u5bc6\u7801\uff1acentos \u6570\u636e\u5e93\u540d\uff1amydb
\u8f6c\u5230postgres\u7528\u6237
su \u2013 postgres
\u521b\u5efa\u7528\u6237senthil
$ createuser senthil
\u521b\u5efa\u6570\u636e\u5e93
$ createdb mydb
\u73b0\u5728\u767b\u9646\u81f3psql\u63d0\u793a\u7b26\u754c\u9762\uff0c\u4e3a\u7528\u6237senthil\u8bbe\u7f6e\u5bc6\u7801\u53ca\u6388\u6743\u5bf9\u6570\u636e\u5e93mydb\u7684\u8bbf\u95ee\uff1a
$ 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.\u5220\u9664\u7528\u6237\u548c\u6570\u636e\u5e93
\u9996\u5148\u8f6c\u5230postgres\u754c\u9762
su \u2013 postgres
\u8f93\u5165\u547d\u4ee4
$ dropdb
\u5220\u9664\u7528\u6237\u540d\u53ef\u8f93\u5165
$ dropuser
7.\u914d\u7f6ePostgreSQL-MD5\u8ba4\u8bc1
MD5\u8ba4\u8bc1\u9700\u8981\u5ba2\u6237\u7aef\u63d0\u4f9b\u4e00\u4e2aMD5-encrypted \u5bc6\u7801\u4ee5\u4fbf\u8eab\u4efd\u9a8c\u8bc1\u3002\u4f60\u9700\u8981\u7f16\u8f91 /var/lib/pgsql/9.3/data/pg_hba.conf\u6587\u4ef6\uff1a
vi /var/lib/pgsql/9.3/data/pg_hba.conf

CentOS7/6.5/6.4 server \u5b89\u88c5PostgreSQL \u9996\u5148\u6839\u636e\u4f60\u7684\u670d\u52a1\u5668\u67b6\u6784\u6dfb\u52a0PostgreSQL\u5e93\uff1a
\u5bf9CentOS 6.x 32bit:rpm -Uvh http://yum.postgresql.org/9.3/RedHat/rhel-6-i386/pgdg-centos93-9.3- 1.noarch.rpm\u5bf9CentOS 6.x 64bit:rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm\u5bf9CentOS 7 64bit:rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm\u5bf9\u4e8e\u5176\u5b83\u7684\u53d1\u884c\u7248\uff0c\u53ef\u67e5\u770b\u4ee5\u4e0b\u94fe\u63a5\u5e76\u5efa\u7acb\u5e93\uff1a\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6765\u66f4\u65b0\u5e93\uff1a
yum update \u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6765\u5b89\u88c5PostgreSQL\uff1ayum install postgresql93-server postgresql93-contrib \u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u6765\u521d\u59cb\u5316PostgreSQL\u6570\u636e\u5e93\uff1a\u5728CentOS 6.x \u7cfb\u7edf\u4e2d\uff1aservice postgresql-9.3 initdb\u5728CentOS 7\u7cfb\u7edf\u4e2d\uff1a/usr/pgsql-9.3/bin/postgresql93-setup initdb \u7136\u540e\u542f\u52a8PostgreSQL\u670d\u52a1\u5e76\u4f7f\u4e4b\u5f00\u673a\u81ea\u542f\uff1a\u5728CentOS 6.x \u7cfb\u7edf\u4e2d\uff1aservice postgresql-9.3 startchkconfig postgresql-9.3 on 2.\u8c03\u6574Iptables/Firewall\u63a5\u4e0b\u6765\u8c03\u6574\u9632\u706b\u5899\u51fa\u7ad9\u89c4\u5219\uff1a\u5728CentOS 6.x\u7cfb\u7edf\u4e2d\uff1avi /etc/sysconfig/iptables \u5e76\u6dfb\u52a0\u4ee5\u4e0b\u884c-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 \u9000\u51fa\u5e76\u4fdd\u5b58\u6587\u4ef6\u3002\u91cd\u542fiptables\u670d\u52a1\uff1aservice iptables restart \u5728CentOS\u7cfb\u7edf\u4e2d\uff1afirewall-cmd --permanent \u2013add-port=5432/tcpfirewall-cmd --permanent \u2013add-port=80/tcpfirewall-cmd --reload

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 http://yum.postgresql.org/9.3/RedHat/rhel-6-i386/pgdg-centos93-9.3- 1.noarch.rpm

对CentOS 6.x 64bit:

rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm

对CentOS 7 64bit:

rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm

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

http://yum.postgresql.org/repopackages.php#pg93

使用以下命令来更新库:

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 <database-name>

删除用户名可输入

$ dropuser <user-name>

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库

http://www.unixmen.com/install-epel-repository-rhel-centos-scientific-linux-6/

CentOS 7的话参考下面的链接

http://www.unixmen.com/install-epel-repository-centos-rhel-7/

使用命令更新库

yum update

现在输入命令安装phpPgAdmin:

yum install phpPgAdmin httpd

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

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

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

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

修改如下加粗的部分:

[...]

Alias /phpPgAdmin /usr/share/phpPgAdmin

<Location /phpPgAdmin>

<IfModule mod_authz_core.c>

# Apache 2.4

Require all granted

#Require host example.com

</IfModule>

<IfModule !mod_authz_core.c>

# Apache 2.2

Order deny,allow

Allow from all

# Allow from .example.com

</IfModule>

</Location>

启动或重启Apache服务

在CentOS 6.x系统中

service httpd start

chkconfig httpd on

在CentOS 7系统中

systemctl enable httpd

systemctl start httpd

现在打开浏览器并转到http://ip-address/phpPgAdmin。终于看到下面的界面了!

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

你可能会遇到:Login failed。

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

setsebool -P httpd_can_network_connect_db 1

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

PostgreSQL是一个强大开源的对象关系类型数据库系统,它能运行于几乎所有主要的操作系统,包括Linux、Unix(AIX、BSD、HP-UX、SGI IRIX、Mac OS、Solaris、Tru64)、Windows OS。
1.安装PostgreSQL
首先根据你的服务器架构添加PostgreSQL库:
对CentOS 6.x 32bit:
rpm -Uvh http://yum.postgresql.org/9.3/RedHat/rhel-6-i386/pgdg-centos93-9.3- 1.noarch.rpm
对CentOS 6.x 64bit:
rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-6-x86_64/pgdg-centos93-9.3-1.noarch.rpm
对CentOS 7 64bit:
rpm -Uvh http://yum.postgresql.org/9.3/redhat/rhel-7-x86_64/pgdg-centos93-9.3-1.noarch.rpm
对于其它的发行版,可查看以下链接并建立库:
http://yum.postgresql.org/repopackages.php#pg93
使用以下命令来更新库:
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 <database-name>
删除用户名可输入
$ dropuser <user-name>
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库。
yum update

现在输入命令安装phpPgAdmin:
yum install phpPgAdmin httpd
注意phpPgAdmin区分大小写,要准确使用上面所示的大小写!
默认你可以使用http://localhost/phpPgAdmin访问phpPgAdmin。若要远程访问需要继续:
编辑文件/etc/httpd/conf.d/phpPgAdmin.conf
vi /etc/httpd/conf.d/phpPgAdmin.conf
修改如下加粗的部分:
[...]
Alias /phpPgAdmin /usr/share/phpPgAdmin

<Location /phpPgAdmin>
<IfModule mod_authz_core.c>
# Apache 2.4
Require all granted
#Require host example.com
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order deny,allow
Allow from all
# Allow from .example.com
</IfModule>
</Location>

启动或重启Apache服务
在CentOS 6.x系统中
service httpd start
chkconfig httpd on

在CentOS 7系统中
systemctl enable httpd
systemctl start httpd

您高兴能帮助您 1.安装PostgreSQL 首先根据服务器架构添加PostgreSQL库: CentOS 6.x 32bit: rpm -Uvh 1.noarch.rpm CentOS 6.x 64bit: rpm -Uvh .安装PostgreSQL

扩展阅读:x77的固定ip地址 ... centos7 安装向日葵 ... centos7进入root权限 ... centos7 单用户sh4.2 ... centos linux 7 ... centos8.5 安装源 ... centos7永久修改时间 ... centos7安装详细步骤 ... centos7重置root密码 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网