PostgreSQL源码编译安装
PostgreSQL编译安装
这是我使用PostgreSQL
的记录,在以后的使用过程中,难免出现有的问题现在解决了,但是后面会忘记现在的解决办法,现在记录下来,方便后面翻阅,也方便需要的朋友参考。
本次安装环境如下所示:
# 安装方式:编译安装 |
一、准备环境
1,创建新用户,PostgreSQL不允许使用root用户运行服务,需要创建新用户用于管理PostgreSQL服务,这里和保持默认的一直,创建新用户名为postgres
# 创建群组 postgres |
2,下载PostgreSQL
源码,点击 PostgreSQL 进入源码版本选择页,可以选择相应的版本,我选择v11.11
切换到root用户 |
二、编译安装
1、配置编译参数
# 查看编译参数 |
2、编译及安装
# 编译 |
3、安装第三方工具
进入第三方工具目录 |
运行下面的命令
/opt/pgsql/bin/pg_ctl -V |
如果显示pg_ctl (PostgreSQL) 11.11
以及类似的消息,只要不是表示已经安装成功了。但也只是表示安装成功了,接下来需要配置服务,这样在以后开机的时候就自动启动,就可以通过客户端访问了。
三、配置服务
archlinux
使用systemd
启动守护进程,systemd
默认的服务目录为 /lib/systemd/system
,安装PostgreSQL
服务需要在该目录下创一个文件,为了和运行的软件保持一致,这里命名为postgresql-11.service
在该文件中添加如下内容。
[Unit] |
虽然这样配置好了,但是在开机的时候还是不能正常启动,为什么呢,有两个原因。一是不能以root
用户启动PostgreSQL
,这个问题我们已经在上面的服务文件中的字段User=postgres
解决了,另一个 就是data
文件夹的所有者必须为PostgreSQL
管理者postgres
cd /opt/pgsql |
现在重新开机,PostgreSQL
就已经在后台启动了。
四、后续
现在还有两个问题问题,一是PATH环境变量,二是记录PostgreSQL
语句的文件配置
PATH环境变量可以在任意位置运行命令,在这里我们早/etc/profile
中添加如下语句
export PATH=/opt/pgsql/bin:$PATH |
接着在终端中使用命令source /etc/profile
就可以在当前终端中运行PostgreSQL
相关命令了。
第二个则是因为我在创建用户postgres
的时候没有创建该用户的home
目录。导致PostgreSQL
无法生成文件~/.psql_history
,解决办法有两个。一是为postgres
新增home
目录;这里采用第二种方法,在/etc/profile
新增如下环境变量 HISTFILE
或者PSQL_HISTPORY
。
export PSQL_HISTORY=/opt/pgsql/.psql_history |
发布于 2021-03-11 16:06 ,编辑于 2021-03-12 11:18
还没有评论
写下你的评论…
拖拽到此处
图片将完成下载