Centos环境下Postgresql 安装配置及环境变量配置技巧


Posted in PostgreSQL onMay 18, 2021

1、yum安装

进去postgresql官网下载界面 PostgreSQL: Downloads

选择操作系统

选择系统版本,平台信息等 会出现具体的安装步骤

Centos环境下Postgresql 安装配置及环境变量配置技巧

拷贝脚本,自动执行并创建了数据库实例

上面的创建数据库实例
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
允许开机自启动postgresql数据库
sudo systemctl enable postgresql-13
操作系统的服务管理命令启动数据库
sudo systemctl start postgresql-13
停止数据库命令
sudo systemctl stop postgresql-13
查看数据库状态命令
sudo systemctl status postgresql-13

可选 安装contrib包,contrib包中包含了一些插件和工具 yum install postgresql12-contrib

切换用户为postgres su - postgres

连接数据库 psql推出数据库 \q

2、从源码安装(推荐)

1、https://www.postgresql.org/download/ 在官方下载界面,点击左侧的Source 进入源代码下载界面

2、选择合适的版本

3、选择合适的压缩包下载,一般来说bz2 格式的压缩包体积较小

3、编译以及安装

4、解压安装包

tar -xvf postgresql-13.tar.gz

5、进入目录

cd postgresql-13

6、编译安装命令

./configure --prefix=/usr/local/pgsql13 --with-perl --with-python
make
make install
 
命令解析
--prefix=/usr/local/pgsq13 确定其安装目录
--with-perl 加上改选项可以使用perl语法的PL/Perl 过程语言来编写自定义函数。使用该选项需要先安装perl包,在ubantu或者Debian下名称为libperl-dev
 
--with-python 加上改选项可以使用python语法的Py/Python 过程语言来编写自定义函数。使用该选项需要先安装python-devk开发包。

 7、创建用户组和用户

groupadd postgres
useradd -g postgres postgres

8、建立链接

cd /usr/local
sudo ln -sf /usr/local/pgsql13 /usr/local/pgsql
 
命令解析
之前--prefix设置的路径为/usr/local/pgsql13 如果不设置路径,默认的路径为 /usr/local/
创建路径的的时候加上了版本号,为了以后方便升级
如果要升级到更高版本的数据库,只需要停掉现在的数据库,在编译更高版本的数据库postgreslq14 后,将链接 /usr/local/pgsql 指向新版本的目录 /usr/local/pgsql14 即可完成升级

9、创建数据库库文件存储目录、给postgres赋予权限

mkdir /usr/local/pgsql/data
cd /usr/local/
chown postgres.postgres pgsql

10、 初始化数据库目录:

切换用户
 
su - postgresql
 
初始化数据 -D指定初始化创建的数据库的文件路径
 
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

11、启动和关闭数据库服务

pg_ctl start
pg_ctl stop

3、配置数据库

1、配置环境变量

在 /etc/profile 或者 ~/.bash_profile中添加以下内容
 
export PGHOME=/usr/local/pgsql   
export PGDATA=/usr/local/pgsql/data
export LD_LIBRARY_PATH=/usr/local/pgslq/lib
export PATH=$PATH:$HOME/bin:/usr/local/pgsql/bin
 
命令解析
bash 登陆的时候读取配置文件的顺序如下:
 
.bash_profile
.bash_login
.profile
 
按这个顺序只要读到一个就不再读取其他两个。全局的/etc/profile是最先读的,/etc/profile里面的配置可以在以上三个文件中覆盖掉。

 2、简单配置 在/usr/local/pgsql/data下找到配置文件

默认创建的数据库无法接受远程链接在pg_hba.conf中加入一下命令
host all  all  0/0 md5
 
该命令允许任何账户远程连接数据库,连接时需要提供密码
pg_hba.conf 是一个黑白名单的访问控制文件,可以控制允许哪些IP地址访问数据库

 3修改监听的IP和端口

在数据目录下编辑 postgres.conf文件
修改
# listen_addresses = 'localhost'
# port = 5432
 
参数listen_addresses 表示的是监听地址,默认是在 localhost监听,这会造成远程主机无法访问,需要把监听地址改为实际的网络地址,一种简单的方式是把地址改为'*'
listen_addresses = '*'
 
参数port表示数据库的端口,默认为5432,如果一台机器上安装了多个数据库实例,笔者就是在docker上也有一个数据服务,占用了5432的端口。所以对host进行了修改
 
对于上述两个参数,需要重启数据库才会生销

4、备注

如果修改了host端口,需要在/etc/profile 或者 ~/.bash_profile 在加入一行内容
exprot PGHOST=新的端口

以上就是Centos环境下Postgresql 安装配置及环境变量配置技巧的详细内容,更多关于Postgresql 安装配置的资料请关注三水点靠木其它相关文章!

PostgreSQL 相关文章推荐
PostgreSQL存储过程实用脚本(二):创建函数入门
Apr 05 PostgreSQL
Centos环境下Postgresql 安装配置及环境变量配置技巧
May 18 PostgreSQL
关于PostgreSQL JSONB的匹配和交集问题
Sep 14 PostgreSQL
基于PostgreSQL/openGauss 的分布式数据库解决方案
Dec 06 PostgreSQL
Rust 连接 PostgreSQL 数据库的详细过程
Jan 22 PostgreSQL
PostgreSQL出现死锁该如何解决
May 30 PostgreSQL
PostgreSQL怎么创建分区表详解
Jun 25 PostgreSQL
PostgreSQL逻辑复制解密原理解析
Sep 23 PostgreSQL
postgresql中如何执行sql文件
May 08 PostgreSQL
PostgreSQL存储过程实用脚本(二):创建函数入门
PostgreSQL将数据加载到buffer cache中操作方法
Apr 16 #PostgreSQL
自定义函数实现单词排序并运用于PostgreSQL(实现代码)
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
如何使用PostgreSQL进行中文全文检索
May 27 #PostgreSQL
postgresql无序uuid性能测试及对数据库的影响
Jun 11 #PostgreSQL
postgres之jsonb属性的使用操作
Jun 23 #PostgreSQL
You might like
php面向对象全攻略 (九)访问类型
2009/09/30 PHP
PHP curl_setopt()函数实例代码与参数分析
2011/06/02 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
2015/01/07 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
php 实现301重定向跳转实例代码
2016/07/18 PHP
laravel 5.1下php artisan migrate的使用注意事项总结
2017/06/07 PHP
Laravel如何使用数据库事务及捕获事务失败后的异常详解
2017/10/23 PHP
window.open以post方式将内容提交到新窗口
2012/12/26 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
js 轮播效果实例分享
2016/12/28 Javascript
详解JavaScript调用栈、尾递归和手动优化
2017/06/03 Javascript
jQuery为某个div加入行样式
2017/06/09 jQuery
基于jQuery封装的分页组件
2017/06/26 jQuery
SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题的解决方法
2018/01/09 Javascript
jquery实现选项卡切换代码实例
2019/05/14 jQuery
Python外星人入侵游戏编程完整版
2020/03/30 Python
Python实现的栈(Stack)
2018/01/26 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
基于python的列表list和集合set操作
2019/11/24 Python
从python读取sql的实例方法
2020/07/21 Python
一款纯css3实现的鼠标悬停动画按钮
2014/12/29 HTML / CSS
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
爱尔兰最大的体育零售商:Life Style Sports
2019/06/12 全球购物
北京一家公司的.net开发工程师笔试题
2012/04/17 面试题
英文自荐信格式
2013/11/28 职场文书
旅游网创业计划书
2014/01/31 职场文书
社团招新策划书
2014/02/04 职场文书
车间机修工岗位职责
2014/02/28 职场文书
办公室打字员岗位职责
2014/04/16 职场文书
人力资源职位说明书
2014/07/29 职场文书
党性锻炼的心得体会
2014/09/03 职场文书
法制教育观后感
2015/06/17 职场文书
Python Matplotlib库实现画局部图
2021/11/17 Python
PostgreSQL聚合函数介绍以及分组和排序
2022/04/12 PostgreSQL
在ubuntu下安装go开发环境的全过程
2022/08/05 Golang