【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】

这篇具有很好参考价值的文章主要介绍了【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. PostgreSQL官网下载压缩包

下载地址:https://www.postgresql.org/ftp/source/v10.1/

【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】,Linux,PostgerSQL,ubuntu,postgresql,linux

2. 解压&安装

2.1 解压文件

执行命令:

tar zxvf postgresql-10.1.tar.gz

【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】,Linux,PostgerSQL,ubuntu,postgresql,linux
解压成功后显示:
【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】,Linux,PostgerSQL,ubuntu,postgresql,linux

2.2 安装依赖

sudo apt-get install libreadline-dev
sudo apt-get install zlib1g-dev
sudo apt-get install gcc

出现问题:
【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】,Linux,PostgerSQL,ubuntu,postgresql,linux
解决方法:执行以下命令。

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时出现错误:
【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】,Linux,PostgerSQL,ubuntu,postgresql,linux
解决方法:找到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

【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】,Linux,PostgerSQL,ubuntu,postgresql,linux

3.2 启动数据库服务

pg_ctl -D /opt/postgresql/10/data -l logfile start

【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】,Linux,PostgerSQL,ubuntu,postgresql,linux
如果启动失败如下所示:
【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】,Linux,PostgerSQL,ubuntu,postgresql,linux
执行命令:lsof -i:5432查看端口占用情况
【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】,Linux,PostgerSQL,ubuntu,postgresql,linux
使用kill命令杀死进程即可释放端口
【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】,Linux,PostgerSQL,ubuntu,postgresql,linux

3.3 启动数据库

【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】,Linux,PostgerSQL,ubuntu,postgresql,linux
注:\q表示退出。

致谢:分别参考了以下博客文章来源地址https://www.toymoban.com/news/detail-579993.html

  1. https://blog.csdn.net/gbz2000/article/details/114817892
  2. https://rng-songbaobao.blog.csdn.net/article/details/103110090

到了这里,关于【PostgreSQL内核学习(一)—— Ubuntu源码安装PostgreSQL】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux内核网络源码学习(二)

    skb_reserve 函数通常用于网络编程中的数据包处理,特别是在构建自定义协议栈或数据包处理模块时。它的作用是为数据包的头部预留额外的空间,以确保数据包的头部数据在内存中是对齐的。 边界对齐的概念是因为许多硬件平台和网络协议要求数据包头的字节对齐。如果数据

    2024年02月08日
    浏览(40)
  • Linux学习之Ubuntu 20.04安装内核模块

    参考博客:Ubuntu20.04编译内核教程 sudo lsb_release -a 可以看到我当前的系统是 Ubuntu 20.04.4 , sudo uname -r 可以看到我的系统内核版本是 5.4.0-100-generic 。 sudo apt-get install -y libncurses5-dev flex bison libssl-dev 安装所需要的依赖。 sudo apt-get install linux-source 按两下 Tab ,看一下可以下载的源

    2024年02月15日
    浏览(60)
  • Linux 上安装PostgreSQL-源码编译安装(超详细版!!!)

    服务器:CentOS Linux 7 (Core),4CPU 8GB  100GB磁盘。 最小配置 CPU: 至少 2 核心 内存: 至少 2 GB 硬盘: 至少 10 GB 空间,推荐使用 SSD 以提高性能 网络: 100 Mbps 场景:这种配置适用于轻量级的测试,如功能验证、小型应用的开发等。 推荐配置 CPU: 4 核心或以上 内存: 8 GB 或以上 硬盘:

    2024年01月23日
    浏览(81)
  • Linux学习之Ubuntu 20.04安装5.4.0内核

    参考博客:Ubuntu20.04编译内核教程 sudo lsb_release -a 可以看到我当前的系统是 Ubuntu 20.04.4 , sudo uname -r 可以看到我的系统内核版本是 5.4.0-100-generic 。 sudo apt-get install -y libncurses5-dev flex bison libssl-dev 安装所需要的依赖。 sudo apt-get install linux-source 按两下 Tab ,看一下可以下载的源

    2024年02月06日
    浏览(36)
  • 如何在Ubuntu 22.04上安装Linux 内核 详细教程!

    在Ubuntu 22.04上安装Linux内核可以按照以下步骤进行操作: 更新系统:首先,确保你的Ubuntu系统是最新的,执行以下命令更新系统软件包: 下载内核文件:访问Linux内核官方网站(https://www.kernel.org)下载所需的内核版本。选择一个稳定版本并下载源代码文件(以.tar.gz或.tar.xz为

    2024年02月07日
    浏览(47)
  • Linux 源码安装: PostgreSQL 15.6数据库

    💖The Begin💖点点关注,收藏不迷路💖 🍒 PostgreSQL 中文文档 下载地址:https://www.postgresql.org/ftp/source/ 安装结果: vi ~/.bashrc ,如果全局的则编辑/etc/profile。 可以执行以下命令查看 PostgreSQL 版本信息: 1、创建一个名为 postgresql.service 的服务单元文件: 编辑 /etc/systemd/system/p

    2024年03月24日
    浏览(72)
  • postgresql15 内核源码分析-buffer查找接口

        专栏内容:postgresql内核源码分析 个人主页:我的主页 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 目录 前言 概述 接口介绍 调用场景分析 详细分解 结尾 本文是基于postgresql 15的代码进行分析解读,演示是在centos8系统上进行。   在postgresql中,SQL引擎

    2023年04月09日
    浏览(45)
  • Linux内核学习(包含Linux 2.6内核编译安装流程)

    Linux内核官方网站为:http://www.kernel.org 或者使用git将源码clone下来(我这里使用的版本为2.6): clone下来的源码目录结构如下:  其中比较重要的目录的官方描述如下: 对应的中文描述如下: 由于centos7.6初始gcc版本为4.8.5,而编译内核需要的最低版本为5.1.0,所以需要安装高

    2024年02月07日
    浏览(48)
  • ubuntu22.04 linux内核5.19版本安装usb无线网卡驱动(linux小白)

    居住环境原因,台式机(Ubuntu22.04系统)没办法连网线,需要无线网卡。 1.经上网查询,买了绿联AC1300 双频无线网卡,支持内核5.15版本以下。 2.在绿联官网下载驱动,如下图,安装过程发现缺少 linux/net/ipx文件。  3.经 ubuntu linux内核版本>5.15安装usb无线网卡驱动_linux 内核5

    2024年02月15日
    浏览(34)
  • 【PostgreSQL内核学习(三)—— 查询重写】

    声明 :本文的部分内容参考了他人的文章。在编写过程中,我们尊重他人的知识产权和学术成果,力求遵循合理使用原则,并在适用的情况下注明引用来源。 本文主要参考了《PostgresSQL数据库内核分析》一书   在前一章中,我们重点介绍了查询分析的过程,再来回顾一下

    2024年02月17日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包