Linux 安装使用PostgreSQL

转载声明: https://blog.youkuaiyun.com/w345731923/article/details/82980950

下载

在postgresql的官方即可找到源码文件目录,地址如下:https://www.postgresql.org/ftp/source/

配置编译安装

首先进入pg压缩包目录通过tar zxvf ./postgresql-9.5.5.tar.gz进行解压,然后就可以开始编译安装了,进入解压目录,通过./configure --help可以看到编译相关的帮助信息;

//解压缩
tar zxvf ./postgresql-9.5.5.tar.gz
//配置指定目录
./configure --prefix=/usr/local/postgresql

如果提升error 可能缺少编译器/库等

yum install gcc
yum install readline-devel
yum install zlib-devel

再次编译执行./configure

 

//开始make,注意root权限或者sudo
make

make install

 

用户权限与环境变量

编译安装成功后,接下来要做的就是创建一个普通用户,因为默认超级用户(root)不能启动postgresql,所以需要创建一个普通用户来启动数据库,执行以下命令创建用户:

useradd postgres
passwd postgres

接下来需要设置权限,将postgres的数据目录全部赋权给postgres用户(此处我将postgres的数据目录指定在在/usr/local/postgresql/data目录下):

chown -R postgres:postgres /usr/local/postgresql/

最后为了方便起见设置一下相关的环境变量,此处仅仅设置postgres用户的环境变量,所以首先通过su - postgres切换到postgres用户,打开.bash_profile文件并追加以下内容:
这里写图片描述

修改完成后可以通过source ./.bash_profile使其立即生效,接下来检验一下环境变量是否设置正确,切换任意目录输入which psql以及psql -V即可分别查看psql客户端的路径以及postgresql的数据库版本

一切准备就绪之后接下来就可以初始化数据库了。

初始化数据库

由于配置了环境变量,所以此处我们直接执行initdb即可完成db初始化

initdb
  • base目录是表空间目录。
  • global目录是相关全局变量的目录。
  • postgresql主配置文件(listen_address=localhost改为星号使其监听整个网络)
  • pg_hba.conf是访问控制配置,方便起见我这里将pg_hba.conf的ip地址修改为0.0.0.0/0,而加密方式改为md5,就表示需要密码访问,算是提供一个最低级的安全防护

这里写图片描述

而postgresql.conf就像上面说的那样修改一下listen_address使其监听整个网络即可:
这里写图片描述

(注意---此处切回root用户,否则没有权限)最后别忘记开放pg的5432端口,否则即使做了上面两处修改客户端依然无法连接postgresql,所以将5432端口加入到zone即可,依次运行以下命令:


firewall-cmd --zone=public --add-port=5432/tcp --permanent

firewall-cmd --reload

至此就配置完毕了,还可以通过firewall-cmd --zone=public --list-ports来查看已打开的端口列表再次确认一下

至此配置相关的内容就全部完成了,最后就是启动并连接数据库了。

启动和连接

 

由于我们设置了环境变量,所以已经指定了数据目录PGDATA,-l表示日志文件目录,通常需要指定,所以我们在/usr/local/postgresql根目录下再创建一个log目录用来存放日志文件(注意postgres的权限),

可以先尝试

mkdir $PGHOME/log

最后运行pg_ctl start -l /usr/local/postgresql/log/pg_server.log即可启动数据库,看到如下提示就说明启动成功了:
这里写图片描述
或者通过ps -ef|grep postgres查看一下postgres相关是否存在相关进程,如下图也可以说明已启动成功:
这里写图片描述

启动成功后我们就可以通过postgresql自带的客户端工具psql来进行连接,直接输入psql看到版本信息则说明连接成功:
这里写图片描述

而在日志文件目录中可以看到数据库日志文件以及刚才的启动日志:

vi $PGHOME/log/pg_server.log
pg_ctl start
pg_ctl stop

start stop即为数据库开启关闭


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值