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 22 PostgreSQL
Centos环境下Postgresql 安装配置及环境变量配置技巧
May 18 PostgreSQL
PostgreSQL通过oracle_fdw访问Oracle数据的实现步骤
May 21 PostgreSQL
PostgreSQL解析URL的方法
Aug 02 PostgreSQL
基于PostgreSQL/openGauss 的分布式数据库解决方案
Dec 06 PostgreSQL
Oracle配置dblink访问PostgreSQL的操作方法
Mar 21 PostgreSQL
PostgreSQL并行计算算法及参数强制并行度设置方法
Apr 06 PostgreSQL
PostgreSQL并行计算算法及参数强制并行度设置方法
Apr 07 PostgreSQL
PostgreSQL数据库去除重复数据和运算符的基本查询操作
Apr 12 PostgreSQL
PostgreSQL出现死锁该如何解决
May 30 PostgreSQL
PostgreSQL之连接失败的问题及解决
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
允许phpmyadmin空密码登录的配置方法
2011/05/29 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
PHP中静态变量的使用方法实例分析
2016/12/01 PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
2017/07/13 PHP
laravel 解决路由除了根目录其他都404的问题
2019/10/18 PHP
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
微信小程序 picker-view 组件详解及简单实例
2017/01/10 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
2020/03/31 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
2020/08/07 Javascript
[03:47]2015国际邀请赛第三日现场精彩回顾
2015/08/08 DOTA
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
python判断输入日期为第几天的实例
2018/11/13 Python
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
python虚拟环境完美部署教程
2019/08/06 Python
Python Django 命名空间模式的实现
2019/08/09 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
2021/03/02 Python
西班牙英格列斯百货官网:El Corte Inglés
2016/09/25 全球购物
TripAdvisor越南:全球领先的旅游网站
2017/09/21 全球购物
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
采购意向书范本
2014/03/31 职场文书
预备党员半年考察意见
2015/06/01 职场文书
中秋联欢会主持词
2015/07/04 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
导游词创作书写原则以及开场白技巧怎么学?
2019/09/25 职场文书
导游词之丽江普济寺
2019/10/22 职场文书
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers