美文网首页
Postgresql单点安装(Linux)

Postgresql单点安装(Linux)

作者: 80b7b6115d87 | 来源:发表于2017-12-08 17:30 被阅读95次

1.环境

  • centos7 64位

2.版本

  • postgresql9.6.6

3.步骤

注意:如果不特殊要求,以下所有的操作均在root权限下操作
1.登录远程服务器,使用root用户登录(如果你本地自己的电脑就是linux,并且是往自己的电脑上安装postgresql库的这一步可以省略,但是本地需要切换到root用户)
2.下载当前我们需要安装的版本,我这里使用wget命令进行下载

  • 在这里贴出官网的源码ftp服务器地址,在这里可以找到你想要的版本
https://www.postgresql.org/ftp/source/
  • 我下载的是9.6版本中最高的版本9.6.6版本



    上面图片中有两个压缩包,随意选择即可,我这里选择第一个bz2的压缩包,鼠标右键复制链接地址,见下图


  • 使用wget 命令下载,如果你本机没有wget命令使用此命令安装
yum -y install wget

安装好wget之后如下方式下载,文件会下载到当前目录下,所以最好是切换到自己想要下载的目录下,我下载到了/opt目录下。

wget https://ftp.postgresql.org/pub/source/v9.6.6/postgresql-9.6.6.tar.bz2

3.Postgresql下载完之后就是解压了,postgresql-9.6.6.tar.bz2这种格式的解压和tar.gz相差不多,命令如下

tar xvf postgresql-9.6.6.tar.bz2

4.配置命令./configure

  • 因为在linux上的源码安装不像windows那么简单和可视化,要知道几个命令,configure命令是第一个命令,叫配置命令,就类似于windows配置安装路径一样,我们一般使用configure命令指定安装路径,如果不指定安装路径也会像windows安装文件那个有一个默认路径,但是在linux那不是我们想要的,因为windows上一般安装完一个软件之后都会在桌面上面生成一个快捷方式让我们方便查找,但是linux上面不会生成快捷方式,所以我们需要明确知道自己的软件的安装路径,以便于启动/停止这个软件。
  • ./configure这个命令一定要在你解压之后生成的那个文件夹下执行才可以,./这个点加反斜杠懂C语言的都知道这是执行命令的。具体configure命令可以都可以设置什么,请自行了解,我这里只是演示,下面是官网的安装地址,并且介绍了configure命令的常用属性,地址为:
https://www.postgresql.org/docs/9.6/static/install-procedure.html
  • 接下来进行配置,注意一定要切换到解压之后的postgresql
    文件夹下,我这里指定安装到/usr/local/pgsql路径下,后面最好是加上pgsql文件夹,如果你不加这个文件夹试试,都安装到哪里了?命令如下:在配置的时候可能会因为依赖库的问题报错,如果报错,使用如下命令进行依赖库安装:
yum install gcc-c++ gcc flex readline-devel zlib-devel zlib

依赖库安装好之后继续进行如下配置命令:

./configure --prefix=/usr/local/pgsql

5.环境配置好之后,接下来就是进行编译和安装,分别执行如下两个命令,安装好之后就会在/usr/local目录下有一个pgsql文件夹,我们的postgresql安装文件就在这个文件夹下

make
make install

6.安装成功之后就是创建postgres群组,并创建postgres用户添加到postgres群组,因为Postgresql不能用root用户运行。

groupadd postgres   #创建群组
useradd -g postgres postgres   #创建用户,添加群组

7.创建自定义的数据目录和日志目录创建好目录之后要给这个目录一个刚刚咱们自己创建的用户(postgres)的权限,因为这个目录毕竟不是root用户使用。

mkdir -p /usr/local/pgsql/data     #创建数据库存储数据的目录
mkdir -p /usr/local/pgsql/log       #创建日志目录
chown -R postgres.postgres /usr/local/pgsql   #给目录添加用户权限,/usr/local本身就用用户权限,所以从pgsql目录开始添加权限 ,递归添加-R属性,这样就把data和log文件夹都加了权限

8.切换到刚刚自己创建的用户postgres,这应该是咱们第一次切换用户

su postgres

9.初始化数据库,就是需要我们初始化一下刚刚我们自己定义的存放数据库数据的文件夹。命令都在我们的安装文件里面的bin目录下/usr/local/pgsql/bin所以我们要想执行初始化数据库文件夹的必须切换到我们的安装pgsql下面的bin目录下,因为我们的初始化命令在bin目录下。所以切换到/usr/local/pgsql/bin目录下执行如下命令:

./initdb -E utf8 -D /usr/local/pgsql/data
注意:如果不给pgsql文件夹以及里面的文件夹以及文件赋予权限,这块很可能会报错,说没有权限

10.初始化完数据库之后,就是启动Posgresql数据库了。启动命令还是在bin目录下,所以不要切换目录,并且从初始化数据库开始我们一直在posgres用户下操作的,没有在root用户下。Postgresql的启动要带着存储数据的目录和日志目录,这样启动,命令如下:

./pg_ctl -D /usr/local/pgsql/data -l logfile start
-D : 指定存储数据的目录
-l : 日志文件的名称如果不指定日志文件的位置,默认生成在当前目录下,也就是我们的bin目录下,名字叫logfile,所以这样启动,你就会发现bin目录下新生成一个logfile文件。

因为我们上面已经创建了一个存放日志的log文件夹,所以在启动的时候将此目录以及日志名称加上,命令如下:

./pg_ctl -D /usr/local/pgsql/data -l /usr/local/pgsql/log/logfile start

这样数据库就可以启动了

以上就是Postgresql的单点安装

4.测试

  • 这时候我们可以测试一下,是不是可以使用客户端psql命令登录上去,psql命令也是在bin目录下,所以不要切换目录,因为我们没有设置密码所以不需要密码,具体想了解Postgresql的客户端命令可以自行了解。命令如下:这样就可以登录到我们本地的postgresql库了
./psql

如果登陆进去之后没有报错,显示类似于上面图片展示的样子就说明已经安装成功。

5.额外的设置介绍

  • 比如环境变量设置(自行设置),设置好之后不用每次启动或者停止都要到/usr/local/pgsql/bin目录下
  • 开机启动设置(自行设置)

6.注意事项

  • 其实安装单点的时候不是很麻烦,但是也有几点需要注意
    ①Postgresql 不能用root用户登录,所以需要创建postgresql用户,名称自定义,然后在创建Postgres群组并且将自定义的用户加入群组
    ②Postgresql要对,数据库存储文件的文件夹进行格式化,要在自定义的用户权限下进行格式化
    ③要给安装Postgresql的安装文件目录权限,否则在自定义的用户权限下不能运行bin目录下的脚本
    ④启动Postgresql服务器时使用pg_ctl命令要带着数据存储的路径和日志路径(除非已经配置好了PGDATA)
    ⑤启动官网提供了启动脚本在解压之后的文件夹里面,这个请自行查找。
以上就是单点安装Postgresql的安装步骤

相关文章

网友评论

      本文标题:Postgresql单点安装(Linux)

      本文链接:https://www.haomeiwen.com/subject/yybsixtx.html