postgresql安装及常见错误处理

2023-10-27

postgresql安装及常见错误处理

一、安装说明

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

本例中安装的postgresql版本为9.3.2,安装方式为源码安装,安装环境为Centos-6.4-x86_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 groupadd postgresql

创建用户:sudo useradd -gpostgresql postgresql

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

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

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

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

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

8.添加环境变量:


9.初始化数据库目录:

首先,要切换用户:su postgresql

如果没有配置密码,先给postgresql配置密码:sudo passwd postgresql

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

10.启动数据库:

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

[postgres@zhu postgresql-9.3.2] bin/postmaster -D /opt/postgresql-9.3.2/data

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


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

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

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

[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用户增加密码:

如果你的postgresql数据库没有启动,请用$POSTGRESQL_HOME/bin/postmaster -D /opt/postgresql-9.3.2/data命令或者用下面的第13部分介绍的命令。

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

ALTER USER postgresql PASSWORD '它的密码';

如果输入"psql"出现如下异常:

psql: FATAL: database "postgresql" does not exist

则说明数据库中不存在postgresql数据库,可以换个初始数据库连接下:

[postgresql@bigdata-jobtrack ~]$ psql template1
psql (9.3.2)
Type "help" for help.
修改postgres用户密码:
template1=# ALTER USER postgresql PASSWORD '123456';
ERROR: role "postgres" does not exist
如不存在 postgresql 用户则则新建该用户
template1=# CREATE USER postgresql WITH PASSWORD '123456'
注:此处的“ postgresql”用户为数据库用户.
这时,posrgresql用户就可以作为数据库的使用用户了,可以打开一个postgresql客户端,如navicat,尝试连接一下。

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安装及常见错误处理

如果要参考关于postgresql的使用命令,请查看:http://blog.csdn.net/zhu_xun/article/details/21240711

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

postgresql安装及常见错误处理 的相关文章

随机推荐

  • 关于对doCreateBean方法下的的createBeanInstance方法的分析

    一 前言 最近在看Spring的相关源码 这次来分析一下createBeanInstance 方法 在getBean 的时候调用了doGetBean 而doGetBean 内最为核心的就是doCreateBean 方法 在doCreateB
  • java concurrent 探秘

    java concurrent 探秘 转 我们都知道 在JDK1 5之前 Java中要进行业务并发时 通常需要有程序员独立完成代码实现 当然也有一些开源的框架提供了这些功能 但是这些依然没有JDK自带的功能使用起来方便 而当针对高质量Jav
  • Python爬虫笔记——post请求、cookies及session

    一 post请求 post和get都可以带着参数请求 不过get请求的参数会在url上显示出来 但post请求的参数就不会直接显示 而是隐藏起来 像账号密码这种私密的信息 就应该用post的请求 如果用get请求的话 账号密码全部会显示在网
  • Python中的小工具和setWidget等相关概念解析

    Python中的小工具和setWidget等相关概念解析 在Python编程中 无论是桌面应用程序还是Web应用程序 我们都需要用到各种小工具来构建UI界面 其中 Qt是一种流行的GUI框架 提供了很多用于创建UI界面的小部件 widget
  • 每日一题 102二叉树的层序遍历

    题目 给你二叉树的根节点 root 返回其节点值的 层序遍历 即逐层地 从左到右访问所有节点 示例 1 输入 root 3 9 20 null null 15 7 输出 3 9 20 15 7 示例 2 输入 root 1 输出 1 示例
  • 4.3 C++成员模板参数、显示实例化、特化

    C 成员模板参数 关键字 typename 内嵌是指定义在类的定义中的 依赖是指依赖于一个模板参数O typedef类型名是指这里最终要指出的是个类型名 using给模板起别名 显示实例化和隐式实例化 模板的全特化与偏特化 因为编译器认为
  • python-parser.parse_args()解析参数

    import argparse 设置参数对象 简要设置为该程序要执行什么任务 parser argparse ArgumentParser mission name 调用 add argument 方法添加参数 parser add arg
  • 自举电路可以增加输入阻抗,你知道吗?

    原文来自微信公众号 工程师看海 以前写过一篇文章 介绍自举电路在BUCK电源的应用 驱动高边MOS https www dianyuan com eestar article 2127 html 反馈不错 今天再来介绍下自举电路增加输入阻抗
  • nodejs 下使用js封装console.log方法输出自定义的彩色字体,遇到Octal escape sequences are not allowed in template strings

    阳光明媚 在家敲javascript的代码 控制台里清一色的黑底白字 我console log出来的文字也是黑底白字淹没在茫茫字母海中 所以我想封装一下log方法 能自己定义字体还有背景的颜色 然后就出现了这个报错 Octal escape
  • OpenCV 图像旋转

    1 RotateArbitrarilyAngle Mat src Mat dst float angle 2 3 float radian float angle 180 0 CV PI 4 5 填充图像 6 int maxBorder i
  • SQL 题目(一)

    url http www cnblogs com finejob articles 974900 html 其他题目 url 为管理岗位业务培训信息 建立3个表 S S SN SD SA S SN SD SA 分别代表学号 学员姓名 所属单
  • 【轩说AI】无监督特征学习——主成分分析、稀疏编码、自编码器

    文章目录 无监督学习 无监督特征学习 主成分分析 稀疏编码 自编码器 主成分分析PCA 理解什么是PCA 有什么用处 稀疏编码 编码 交替优化 自编码器 Auto Encoder 稀疏自编码器 无监督学习 无监督特征学习 主成分分析 稀疏编
  • FortiGate下用户访问特定网址不通

    1 现状 如图 上网行为管理和防火墙控制用户的数据访问 到外网的出口链路有2条 联通的和电信的 其中联通的优先级较高 2 现象 用户访问www xxxxbbs com不通 3 分析 在上网行为管理上做源和目前地址排除 发现仍不能访问排除了上
  • ERP为什么在生产制造环节应用效果不理想?

    ERP在生产制造环节应用效果不理想的根本原因是ERP负责的是宏观管控 而生产制造环节应该使用MES来进行精细化管理 下面就详细讨论下 生产制造环节发生在工厂 工厂可以没有ERP 但如果要用系统 必定是MES系统 ERP是为企业服务的 MES
  • 学习汇编语言MASM笔记1

    关于源程序书写格式 太基础的略去 只记录一些我还不熟悉的内容 参考https wenku baidu com view 7ca70e0ef342336c1eb91a37f111f18582d00c5d html 其他网页的参考以挂上相关连接
  • Flutter 踩坑TabBar之TabController.addListener

    一 问题 之前提到TabBar的第二种实现方式 TabController是有坑的 问题 这个监听在点击切换tab的时候会回调两次 左右滑动切换tab正常调用一次 二 原因 点击切换tab的时候执行了一个动画效果 滑动切换的时候是没有的 在
  • 用JAVA写的一个自动化简单示例!

    public class lianxi public static void main String args throws InterruptedException System getProperty webDriver firefox
  • 2022-03-24 RK3566 MIPI屏 调试记录,panel-init-sequence 命令格式介绍

    一 Single channel mipi屏的硬件连接如下 二 根据屏厂给的初始化代码配置dts了 屏厂给的初始化代码分几种形式 这个文章里面RK PX30 android8 1的mipi屏调试 要不要买菜 的博客 CSDN博客 有比较详细
  • Ubuntu20.04(linux)离线安装nacos

    一 解压 1 首先local目录得有nacos server 2 0 4 tar gz包 切换目录cd usr local执行以下命令 tar zxvf nacos server 2 0 4 tar gz 二 创建nacos service
  • postgresql安装及常见错误处理

    postgresql安装及常见错误处理 一 安装说明 最近 由于业务需要 我抛弃了一直使用的mysql数据库 开始转向postgresql数据库 至于为什么选择postgresql 肯定是postgresql比mysql更强大 对于post