0

0

postgresql安装及常见错误处理

php中文网

php中文网

发布时间:2016-06-07 15:29:06

|

4534人浏览过

|

来源于php中文网

原创

postgresql安装及常见错误处理 一、安装说明 最近,由于业务需要,我抛弃了一直使用的mysql数据库,开始转向postgresql数据库,至于为什么选择postgresql?肯定是postgresql比mysql更强大,对于postgresql的优点,就不在此赘述,大家可以google下。 本例中安

postgresql安装及常见错误处理

一、安装说明

最近,由于业务需要,我抛弃了一直使用的mysql数据库,开始转向postgresql数据库,至于为什么选择postgresql?肯定是postgresql比mysql更强大,对于postgresql的优点,就不在此赘述,大家可以google下。

本例中安装的postgresql版本为9.3.2,安装环境为Centos-6.4-x64_64。

二、安装

1.下载postgresql:

本例中安装的方式为源码安装,读者可以到官方网址:http://www.postgresql.org/ftp/source/v9.3.2/进行下载

2.解压文件:

tar -zxvf postgresql-9.3.2.tar.gz

3.进入解压目录并配置参数

进入解压目录:cd postgresql-9.3.2

创建安装目录:sudo mkdir /opt/postgresql-9.3.2(依你习惯而定)

配置安装参数:./configure --prefix=/opt/postgresql-9.3.2

4.编译:

make

注:在这一步,相信很多同学会发生一些错误,如果发生了,请参看下面"三、常见错误说明"部分来解决她。

5.安装:

sudo make install

6.创建用户组和用户:

创建用户组:sudo group add postgresql

创建用户:sudo useradd -gpostgresql postgresql

为了方便管理,在此创建了postgresql用户组以及postgresql用户,以后可以通过postgresql用户来管理postgresql数据库。

7.创建数据库库文件存储目录并给postgresql用户赋予权限:

进入数据库安装目录:[postgres@zhu postgresql-9.3.2]$ cd /opt/postgresql-9.3.2

创建data目录:[postgres@zhu postgresql-9.3.2]$ sudo mkdir data

给postgresql用户赋予权限:sudo chown postgresql.postgresql data

8.添加环境变量:

\

9.初始化数据库目录:

首先,要切换用户:su postgresql

初始化数据:[postgres@zhu postgresql-9.3.2] bin/initdb -D data

10.启动数据库:

这里通过postmaster脚本启动:postgresql安装及常见错误处理

[postgres@zhu postgresql-9.3.2] bin/postmaster -D /usr/local/pgsql/data

启动成功后,可以看到如下提示:

\
这是可以重新打开一个端口,以postgresql用户身份进入测试一下。

但目前位置,该数据库只能允许本地访问,如果运行其他用户访问的话还需继续进行如下配置:

10.配置监听地址和端口:

自学 PHP、MySQL和Apache
自学 PHP、MySQL和Apache

本书将PHP开发与MySQL应用相结合,分别对PHP和MySQL做了深入浅出的分析,不仅介绍PHP和MySQL的一般概念,而且对PHP和MySQL的Web应用做了较全面的阐述,并包括几个经典且实用的例子。 本书是第4版,经过了全面的更新、重写和扩展,包括PHP5.3最新改进的特性(例如,更好的错误和异常处理),MySQL的存储过程和存储引擎,Ajax技术与Web2.0以及Web应用需要注意的安全

下载

[postgres@zhu postgresql-9.3.2] vi data/postgresql.conf
修改为如下配置:
  listen_addresses = '*'
  port = 5432

也就是将注释号"#"去掉,并把"127.0.0.1"改为"*"
11、允许远程主机连接:
[postgres@zhu postgresql-9.3.2] vi data/pg_hba.conf
天加如下配置host all all 0.0.0.0/0 trust,参考如下:

\
注意:

(1).其中,"trust"和"password"为postgresql数据库登陆验证的方式,"trust"表示信任,即不需要输入密码(即使有密码),"password"表示需 要输入密码。(2).host all all 127.0.0.1/31 trust表示本地连接数据库不需要输入密码(即使有密码,设为trust后就不需要密码)(3).host all all 0.0.0.0/0 所有主机连接数据库需要输入密码(如果有密码)(4).当然,这两个综合后表现的结果就是:对于本机链接表示信任(不需要输入密码),对于非本机链接需要输入密码 12.修改防火墙,开放5432端口:

sudo vim /etc/sysconfig/iptables

加上:-A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT

重启防火墙:sudo service iptables restart

12.在postgresql数据库中为之前创建的postgresql用户增加密码:

通过psql命令进入postgresql数据库的控制台,然后执行:

ALTER USER postgres PASSWORD '它的密码';

13.关闭postgresql数据库并重新启动,使更改后的配置生效:

下面是通过postgresql的pg_ctl工具进行操作:

关闭postgresql数据库:pg_ctl stop -m fast

启动postgresql数据库:pg_ctl start

这时,你可以通过远程主机登陆系统试一下。

至此,一个完整的postgresql数据库便安装完毕了,你可以通过远程主机以postgresql用户身份输入密码登陆postgresql了!

postgresql安装及常见错误处理

三、常见错误说明:

1.安装常见错误:

(1).

configure: error: readline library notfound
If you have readline already installed, see config.log for detailson the
failure. It is possible the compiler isnt lookingin the proper directory.
Use --without-readline to disable readlinesupport.

如果出现以上错误,说明你的系统缺少readline库,这时输入:

rpm -qa | grep readline

如果提示:readline-6.0-4.el6.x86_64

那么,你的电脑缺少readline-devel库,你只要安装一下readline-devel就行了:
yum -y install readline-devel
再次rpm -qa | grep readline
提示:
readline-devel-6.0-4.el6.x86_64
readline-6.0-4.el6.x86_64
说明readline-devel安装成功。

(2).

checking for inflate in -lz... no configure: error: zlib library not found If you have zlib already installed, see config.log for details on the failure. It is possible the compiler isn't looking in the proper directory. Use --without-zlib to disable zlib support.
出现这种错误,说明你的系统缺少zlib库,输入:rpm -qa | grep zlib,如果出现如下提示: zlib-1.2.3-29.el6.x86_64 zlib-1.2.3-29.el6.i686 jzlib-1.0.7-7.5.el6.x86_64 则说明,你的电脑缺少zlib-devel库,安装一下即可: yum install zlib-devel; 这时,再rpm -aq | grep zlib zlib-1.2.3-29.el6.x86_64 zlib-1.2.3-29.el6.i686 jzlib-1.0.7-7.5.el6.x86_64 zlib-devel-1.2.3-29.el6.x86_64 说明zlib-devel安装成功。如果你的系统以上库均缺失,则要全部安装。

2.数据库连接常见错误:

(1).

could not connect to server: Connection refused (0x0000274D/10061)
Is the server running on host "95.110.201.74" and accepting
TCP/IP connections on port 5300?"

如果出现以上错误提示,一般是发生在远程主机连接的情况下。出现错误的原因5432端口号被拒绝连接或者postgresql数据库未监听本机以外的其他主机的连接请求。这时,你要分别检查如下两个步骤的操作正确与否:

a.让防火墙开放5432端口:

sudo vim /etc/sysconfig/iptables

加上:-A INPUT -p tcp -m tcp --dport 5432 -j ACCEPT

重启防火墙:sudo service iptables restart

b.修改$POSTGRESQL_HOME/data/postgresql.conf配置文件:

修改为如下配置:
  listen_addresses = '*'
  port = 5432

(2).如果从本地访问数据库,出现如下提示:

FATAL:no pg-hba.conf entry for host "xxxxxxxx",user "xxx" database "xxxxx"......

则说明,本地访问被设置了非trust模式,请检查$POSTGRESQL_HOME/data/pg-hba.conf配置文件是否有如下配置信息:

host all all 127.0.0.1/32 trust

其中,关于此配置信息的详细说明可以回看二.11

postgresql安装及常见错误处理

相关专题

更多
Word 字间距调整方法汇总
Word 字间距调整方法汇总

本专题整合了Word字间距调整方法,阅读下面的文章了解更详细操作。

2

2025.12.24

任务管理器教程
任务管理器教程

本专题整合了任务管理器相关教程,阅读下面的文章了解更多详细操作。

2

2025.12.24

AppleID格式
AppleID格式

本专题整合了AppleID相关内容,阅读专题下面的文章了解更多详细教程。

0

2025.12.24

csgo视频观看入口合集
csgo视频观看入口合集

本专题整合了csgo观看入口合集,阅读下面的文章了知道更多入口地址。

29

2025.12.24

yandex外贸入口合集
yandex外贸入口合集

本专题汇总了yandex外贸入口地址,阅读下面的文章了解更多内容。

58

2025.12.24

添加脚注通用方法
添加脚注通用方法

本专题整合了添加脚注方法合集,阅读专题下面的文章了解更多内容。

1

2025.12.24

重启电脑教程汇总
重启电脑教程汇总

本专题整合了重启电脑操作教程,阅读下面的文章了解更多详细教程。

3

2025.12.24

纸张尺寸汇总
纸张尺寸汇总

本专题整合了纸张尺寸相关内容,阅读专题下面的文章了解更多内容。

5

2025.12.24

Java Spring Boot 微服务实战
Java Spring Boot 微服务实战

本专题深入讲解 Java Spring Boot 在微服务架构中的应用,内容涵盖服务注册与发现、REST API开发、配置中心、负载均衡、熔断与限流、日志与监控。通过实际项目案例(如电商订单系统),帮助开发者掌握 从单体应用迁移到高可用微服务系统的完整流程与实战能力。

1

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 5.9万人学习

PostgreSQL 手册
PostgreSQL 手册

共0课时 | 0人学习

Rust 教程
Rust 教程

共28课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号