PostgreSQL数据库安装

postgresqllinux9.6.0

2018年01月31日 10时53分13秒


编译以及安装

源码编译

1) 官网下载源码安装包(本次源码安装包名:postgresql-9.6.0.tar.gz)。
2) 为了安装的管理,Linux机器一般需要先 创建 三个目录:编译目录、数据库安装目录、数据初始化目录。
3) 这儿使用的目录如下:

编译目录 数据库安装目录 数据存储目录
/usr/local/src/postgresql /usr/local/pgsql9.6.0/ /data/pgdata

4) 将源码安装包上传到编译目录,并使用tar命令解压。

  1. tar -xvf postgresql-9.6.0.tar.gz

5) 安装postgresql依赖包

  1. # 如果安装报错,再次运行一次
  2. yum install -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devel libxml2-devel libxslt-devel openldap-devel python-devel gcc-c++ openssl-devel cmake

注: redhat7.4配置yum源步骤见:传送门

6) 对源码进行编译,源码编译使用root用户即可

  1. # 进入解压目录
  2. #对于9.X版本的默认线程安全,所以不用添加线程安全的选项了
  3. #第一步就是使用configure命令
  4. ./configure --prefix=/usr/local/pgsql9.6.0 --with-perl --with-python
  5. #第二步使用make,make的版本需要在3.8之上,版本查看:make --version
  6. make
  7. #第三步使用make install安装,需要root权限才能对/usr/local有写权限
  8. make install

程序安装

1) 安装之后:建立软连接,方便后期升级维护

  1. ln -sf /usr/local/pgsql9.6.0/ /usr/local/pgsql

2) 设置可执行文件与共享库的路径:
如果是将语句加在.profile或.bash_profile文件中,界面登录是不会生效的。所以可以加在/etc/profile文件中

  1. #将postgresql自带命令路径添加到PATH
  2. export PATH=/usr/local/pgsql/bin:$PATH
  3. #设置共享库的路径
  4. export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH
  5. #设置数据存储的路径
  6. export PGDATA=/data/pgdata/
  7. #创建用户
  8. useradd -U -p 123456 postgres
  9. #如果这个目录不属于postgres用户和组,可以使用chown修改
  10. chown postgres:postgres /data/pgdata/
  11. #将所有的参数设置完成之后,将变量导出使其生效
  12. source /etc/profile

3) 将依赖的环境变量导出之后,进行数据库初始化到数据存储目录之中

  1. #切换为postgres用户初始化数据库
  2. su - postgres
  3. #数据库的初始化,命令之后不指定PGDATA,默认使用环境变量PGDATA中存储的路径
  4. initdb

4) 如果需要安装contrib下的工具可以到之前解压的主目录下的contrib目录运行下面的命令

  1. make;
  2. sudo make install;

数据库的启动和停止

启动数据库

  1. # 切换为postgres用户后启动
  2. su - postgres
  3. pg_ctl start -D $PGDATA
  4. #PGDATA是前面导出的数据库的数据目录,也可以直接在命令后面加目录启动

关闭数据库

  1. # 切换为postgres用户后停止
  2. su - postgres
  3. pg_ctl stop -D $PGDATA [ -m shutdown-mode ]
  4. -m为停止方法:(3个参数)
  5. smart:等待所有连接中止之后
  6. fast:快速关闭,断开客户端连接,让已有事务回滚
  7. immediate:立即退出,下次进入需要修复

数据库开机自动启动

1) 开机自动启动,需要将解压路径下的contrib/start-scripts/linux文件添加执行权限, 并且修改该文件中的PGDATA参数为自己的实际的路径,prefix参数修改为前面数据库的安装目录,前面将数据库的安装目录添加了软连接,这儿修改为软连接的目录就可以了(强烈推荐使用前面软连接的做法,方便管理)

2) 之后将linux文件复制到/etc/init.d/下重命名为postgresql

  1. #添加为开机前启动
  2. chkconfig --add postgresql
  3. #对服务的管理命令
  4. service postgresql {start|stop|restart|reload|status}

远程连接配置

需要配置两个文件,位于数据库数据目录()
postgresql.conf
pg_hba.conf

postgresql.conf

pg_hba.conf

数据库的基本操作

  1. --创建用户
  2. create user hzhang with password 'hzhang';
  3. --赋权限
  4. alter user hzhang with createdb;
  5. --修改用户密码
  6. alter user hzhang with password 'hzhang';
  7. --创建一个数据库,数据库拥有者hzhang
  8. create database moon owner hzhang;

安装过程中的报错

基本都是安装依赖包的时候没有安装造成的

报错1:configure: error: no acceptable C compiler found in $PATH

 

解决方法:安装gcc套件
yum install gcc

报错2:configure: error: readline library not found

 

解决方法:安装readline-devel
yum list | grep readline
yum install readline-devel.x86_64

报错3:configure: error: zlib library not found

 

解决方法:安装zlib-devel
yum list | grep zlib
yum install zlib-devel.x86_64

报错4:configure: error: header file <Python.h> is required for Python

 

解决方法
yum install python python-devel

PostgreSQL数据库安装的更多相关文章

  1. PostgreSQL数据库安装Version10.5

    PostgreSQL数据库安装,基于版本10.5安装, 在Linux系统上使用*.gz二进制压缩包手动安装. 操作系统:Red Hat Enterprise Linux Server release ...

  2. 在linux系统下检查postgresql数据库安装,登录数据库及简单的查看数据库

    1.    检查Linux系统是否安装数据库 首先查看自己的系统是否安装了postgresql数据库命令如下: rpm -qa | grep postgresql 如果没有显示查询结果(如下图所示)说 ...

  3. PostGreSQL数据库安装教程

    windows 10 x64 pro 1703安装postgresql-9.6.3-2-windows-x64.exe数据库,步骤如下: 第一:下载数据库安装程序,下载地址为:https://www. ...

  4. postgresql数据库安装及简单操作

    自从MySQL被Oracle收购以后,PostgreSQL逐渐成为开源关系型数据库的首选. 本文介绍PostgreSQL的安装和基本用法,供初次使用者上手.以下内容基于Debian操作系统,其他操作系 ...

  5. PostGreSQL数据库安装配置说明

    windows 10 x64 pro 1703安装postgresql-9.6.3-2-windows-x64.exe数据库,步骤如下: 第一:下载数据库安装程序,下载地址为:https://www. ...

  6. centos7下postgresql数据库安装及配置

    1.安装 #yum install -y postgresql-server 2.postgresql数据库初始化 #service postgresql initdb 3.启动postgresql服 ...

  7. 2019-11-24:postgresql数据库安装,最后报错failed to load SQLModule 问题的解决方案

    安装环境:Windows 10 问题描述:Failed to load sql modules into the database cluster 原因在于 Postgresql 没有安装完全. 解决 ...

  8. postgresql数据库安装后的pgadmin4中无法加载本地连接解决办法

    postgresql 在安装最后一步提示the database cluster initialisation failed, 而后点开pgadmin4发现如下图所示 经过百度搜索找出问题原因, 由于 ...

  9. Postgresql数据库安装中文全文搜索插件zhparser的问题

    在PG数据库的基础上加装zhparser中文全文搜索插件,说实话,挺怕这些单独编译安装的插件的,因为安装PG数据库方法的不同,最后可能导致安装的插件各种安装不上,这里说一下我遇到的坑,系统环境是Cen ...

随机推荐

  1. MySQL创建触发器的时候报1419错误( 1419 - You do not have the SUPER privilege and binary logging is enabled )

    mysql创建触发器的时候报错: 解决方法:第一步,用root用户登录:mysql -u root -p第二步,设置参数log_bin_trust_function_creators为1:set gl ...

  2. Eclipse 单个tomcat多个项目部署原理(tomcat配置的环境变量catalina.home和catalina.base)

    一:概念 catalina.home(安装目录):指向公用信息的位置,就是bin和lib的父目录. catalina.base(工作目录):指向每个Tomcat目录私有信息的位置,就是conf.log ...

  3. imagettftext(): Could not read font

    imagettftext(): Could not read font 1 确认FreeType Version ( 2以上版本) 2 确认字体路径,要是绝对路径的 3 确认 php.ini 配置 开 ...

  4. 进程退出:SIGINT、SIGTERM和SIGKILL区别

    一.SIGINT.SIGTERM和SIGKILL区别 SIGINT与SIGTERM区别1)SIGINT关联ctrl+c2)SIGINT只能结束前台进程3)通过ctrl+c对当前进程发送结束信号,信号被 ...

  5. linux中C语言的运行(gcc)

    执行sudo apt-get install build-essential 出现

  6. GetComponentsInChildren<Transform>(true)

    GetComponentsInChildren<Transform>(true);//游戏对象下的子物体激活的没激活的都会被拿到,包括游戏对象本身GetComponentsInChildr ...

  7. [转帖]BurpSuite简介

    BurpSuite简介 https://bbs.ichunqiu.com/thread-54760-1-1.html BurpSuite ,这是一个辅助渗透的工具,可以给我们带来许多便利.Burp 给 ...

  8. [转帖]教你如何破解IC卡的校验值

    教你如何破解IC卡的校验值   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/weixin ...

  9. Go 基本数据类型

    Go基础语法 package main import "fmt" func main(){ fmt.Println("Hello world") } 注意点: ...

  10. 全栈项目|小书架|微信小程序-书籍详情功能实现

    效果图 实现分析 从效果图上分析,书籍详情是通过点击首页的item后进入. 进入详情页之后页面顶部显示书籍的相关信息,同时判断用户是否登录,未登录则弹出一个授权登录窗口. 点击登录之后即可加载出用户评 ...