当前位置: 首页 > web >正文

在ubuntu 24安装 postgresql 17 (源码安装)

1 操作系统(ubuntu24 最小化安装)

root@u24-pg-110:~# cat /etc/issue
Ubuntu 24.04.2 LTS \n \l

2 安装依赖

apt install systemtap-sdt-dev -y
apt install build-essential -y
apt install libssl-dev -y
apt install libicu-dev icu-devtools pkg-config -y
apt install liblz4-dev -y
apt install libzstd-dev -y
apt install bison -y
apt install flex -y
apt install readline -y
apt install libreadline-dev -y
apt install zlib1g-dev -y
apt install krb5-user libkrb5-dev libgssapi-krb5-2 -y
apt install libpam0g-dev -y
apt install libxml2-dev -y
apt install libxslt1-dev -y
apt install libldap2-dev libsasl2-dev libssl-dev -y
apt install libselinux1-dev -y
apt install uuid-dev -y
apt install gettext -y 
apt install tcl-dev tcl8.6-dev -y
apt install perl libperl-dev -y 
apt install python3-dev -y

3 postgresql编译

./configure --prefix=/usr/local/postgresql-17 \
--with-icu \
--with-perl  \
--with-python  \
--with-tcl   \
--with-tclconfig=/usr/lib/tcl8.6 \
--with-openssl   \
--with-includes=/usr/include/openssl \
--with-readline \
--with-pam   \
--with-gssapi  \
--with-libraries=/usr/lib64   \
--enable-nls  \
--enable-dtrace   \
--with-uuid=e2fs  \
--with-libxml   \
--with-libxslt  \
--with-ldap   \
--with-selinux   \
--with-system-tzdata=/usr/share/zoneinfo   \
--with-lz4  \
--with-zstd

make -j 2

make install

4 创建postgres 用户

adduser postgres

5 初始化数据库

mkdir /postgresql/data -p

chown -R postgres:postgres /postgresql/data/

su - postgres

#初始化数据库

/usr/local/postgresql-17/bin/initdb -D /postgresql/data/

#启动postgresql 

/usr/local/postgresql-17/bin/pg_ctl -D /postgresql/data/ -l logfile start

#测试

postgres@u24-pg-110:~$ /usr/local/postgresql-17/bin/psql 
psql (17.5)
Type "help" for help.

postgres=# 

6 配置systemd和环境变量

vi ~/.bashrc

export PATH=/usr/local/postgresql-17/bin:$PATH

source ~/.bashrc

root@u24-pg-110:~# vi /lib/systemd/system/postgresql.service
[Unit]
Description=PostgreSQl database server
After=network.target
[Service]
Type=forking
User=postgres
Group=postgres
Environment=PGDATA=/postgresql/data
ExecStart=/usr/local/postgresql-17/bin/pg_ctl start -D ${PGDATA} 
ExecStop=/usr/local/postgresql-17/bin/pg_ctl stop -D ${PGDATA} -s -m fast
ExecReload=/usr/local/postgresql-17/bin/pg_ctl reload -D ${PGDATA} -s
TimeoutSec=300
KillMode=mixed
[Install]
WantedBy=multi-user.target

#启动和设置开机启动

systemctl start postgresql

systemctl enable postgresql

http://www.xdnf.cn/news/8467.html

相关文章:

  • android property 系统
  • Claude 4 在 SWE-Bench 上得分 72.7%:对编程的意义
  • 阿里云ecs如何禁用ip的访问
  • threejs路径流动效果
  • Python打卡训练营day30-库的导入
  • Mysql索引的数据结构
  • android设计——功能临时开启与永久管控
  • FastJson1.2.24反序列化原理
  • 【Hadoop】Hadoop 的入门概述
  • 光子计算落地里程碑:实验级OSS芯片实现MNIST高效分类,登顶《Nature》子刊
  • STM32基本定时器的启动和停止
  • 多维数据助力企业网络安全
  • questions and answers_1
  • GitHub 趋势日报 (2025年05月22日)
  • Gemini 2.5 Pro 一次测试
  • 高项公式英文解析记忆
  • 大模型量化与双重量化(2)-- 代码示例与解释
  • Neo4j入门第二期(Spring Data Neo4j的使用)
  • Oracle 的 MOVE 操作是否重建表?
  • 【学习笔记】Sophus (Python) 使用文档
  • C#调用第三方C++版本SDK过程
  • windows bat 在目录下(包括子目录)搜索批量指定文件名称复制到另一个文件夹内
  • ES6 新增 API 方法
  • ​​3D 几何建模工具库​Open CASCADE(OCCT)简单介绍。
  • 如何评估物联网框架的交互体验?
  • springboot SnailJob client(客户端) 启动失败
  • 机器学习与深度学习:区别与联系
  • 【数据集】全球首个10米分辨率精细分类土地覆盖数据集GLC_FCS10
  • 鸿蒙ArkTS-发请求第三方接口显示实时新闻列表页面
  • 带您了解工业级网络变压器的浪涌等级测试有哪些条件?