服务器之家

服务器之家 > 正文

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

时间:2021-07-24 17:31     来源/作者:Jonestark

1、yum安装

进去postgresql官网下载界面 postgresql: downloads

选择操作系统

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

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

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

?
1
2
上面的创建数据库实例
sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
?
1
2
允许开机自启动postgresql数据库
sudo systemctl enable postgresql-13
?
1
2
操作系统的服务管理命令启动数据库
sudo systemctl start postgresql-13
?
1
2
停止数据库命令
sudo systemctl stop postgresql-13
?
1
2
查看数据库状态命令
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、解压安装包

?
1
tar -xvf postgresql-13.tar.gz

5、进入目录

?
1
cd postgresql-13

6、编译安装命令

?
1
2
3
4
5
6
7
8
9
./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、创建用户组和用户

?
1
2
groupadd postgres
useradd -g postgres postgres

8、建立链接

?
1
2
3
4
5
6
7
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赋予权限

?
1
2
3
mkdir /usr/local/pgsql/data
cd /usr/local/
chown postgres.postgres pgsql

10、 初始化数据库目录:

?
1
2
3
4
5
6
7
切换用户
 
su - postgresql
 
初始化数据 -d指定初始化创建的数据库的文件路径
 
/usr/local/pgsql/bin/initdb -d /usr/local/pgsql/data

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

?
1
2
pg_ctl start
pg_ctl stop

3、配置数据库

1、配置环境变量

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
在 /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下找到配置文件

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

 3修改监听的ip和端口

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

4、备注

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

以上就是centos环境下postgresql 安装配置环境变量配置技巧的详细内容,更多关于postgresql 安装配置的资料请关注服务器之家其它相关文章!

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021德云社封箱演出完整版 2021年德云社封箱演出在线看
2021德云社封箱演出完整版 2021年德云社封箱演出在线看 2021-03-15
返回顶部