Ubuntu源码安装PostgreSQL
- 1. PostgreSQL官网下载压缩包
- 2. 解压&安装
- 2.1 解压文件
- 2.2 安装依赖
- 2.3 执行安装
- 2.4 执行安装
- 2.5 添加路径到文件
- 3. 初始化数据库与使用
- 3.1 初始化数据库
- 3.2 启动数据库服务
- 3.3 启动数据库
1. PostgreSQL官网下载压缩包
下载地址:https://www.postgresql.org/ftp/source/v10.1/
2. 解压&安装
2.1 解压文件
执行命令:
tar zxvf postgresql-10.1.tar.gz
解压成功后显示:
2.2 安装依赖
sudo apt-get install libreadline-dev
sudo apt-get install zlib1g-dev
sudo apt-get install gcc
出现问题:
解决方法:执行以下命令。
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
sudo rm /var/cache/apt/archives/lock
2.3 执行安装
执行命令:
./configure --prefix=/opt/postgresql/10 --enable-debug --enable-cassert
make
make install
注意:如果希望后续在gdb时可以查看代码,则需要添加–enable-debug
make时出现错误:
解决方法:找到copy_fetch.c文件。
文件路径如下:/home/jia/pg_server/postgresql-10.1/src/bin/pg_rewind/copy_fetch.c
也可以使用命令:sudo find / -name copy_fetch.c
来查找
将copy_fetch.c文件中的copy_file_range修改为copy_file_chunk
2.4 执行安装
root下创建postgres用户和数据目录,并修改权限
adduser postgres
mkdir -p /opt/postgresql/10/data
chown -R postgres:postgres /opt/postgresql/10/data
chmod -R go-rwx /opt/postgresql/10/data
注意:data文件权限过大将会无法启动数据库服务
解决办法:chmod -R 0700 data/
2.5 添加路径到文件
su postgres
nano ~/.bashrc
将下面路径添加到文件中
export PATH=/opt/postgresql/10/bin:$PATH
export PGDATA=/opt/postgresql/10/data
export PGHOME=/opt/postgresql/10
export LANG=zh_CN.UTF-8
export PGPORT=5432
最后记得source一下:
source ~/.bashrc
3. 初始化数据库与使用
3.1 初始化数据库
initdb -D /opt/postgresql/10/data --locale=zh_CN.UTF8
3.2 启动数据库服务
pg_ctl -D /opt/postgresql/10/data -l logfile start
如果启动失败如下所示:
执行命令:lsof -i:5432
查看端口占用情况
使用kill命令杀死进程即可释放端口
3.3 启动数据库
注:\q表示退出。
致谢:分别参考了以下博客
- https://blog.csdn.net/gbz2000/article/details/114817892
- https://rng-songbaobao.blog.csdn.net/article/details/103110090