Windows下面源码安装PostgreSQL

目录

一、环境:

二、安装MSYS2

三、安装PG

四、初始化数据库

五、启停数据库

六、调试PG


平时我们在LINUX下,使用源码安装PG的比较多,但在WINDOWS下安装,一般是使用二机制安装包来安装,能否使用源码来安装呢,答案是肯定的。下面将列出源码安装步骤:

一、环境:

WIN2022

MSYS2

minGW-W64

PG16.2

二、安装MSYS2

1.下载MSYS2

去官网下载最新版本

https://github.com/msys2/msys2-installer/releases/download/2024-01-13/msys2-x86_64-20240113.exe

2.安装MSYS2

双击msys2-x86_64-20240113.exe 程序

安装到D:\msys64

3.添加环境变量

4.更新软件包

pacman -Su

已经是最新的了,不需要更新

5.安装MinGW-w64、gcc等编译工具链

pacman -S --needed base-devel mingw-w64-x86_64-toolchain

6.验证GCC版本

打开MSYS2 MINGW64命令行界面,输入gcc -vmake -v,如果能出来版本信息,则证明安装成功。

三、安装PG

  1. 下载PG源码包

         PostgreSQL: File Browser

     

  1. 源码编译

        生成makefile文件

        打开MSYS2 MSYS,进入到postgresql源码的文件夹目录下

./configure --prefix=/d/postgresql-src/postgres-build/ --without-Zlib --enable-debug

找不到GCC的路径,需要进入 mingw64

缺包:icu

这个错误表示配置脚本在尝试编译和安装软件时找不到国际化支持库(ICU,即International Components for Unicode)。这个库通常用于处理Unicode和全球化相关的任务

再去编译,依然报错,最后,先暂时不含这个。

# ./configure --prefix=/d/postgresql-src/postgres-build/

--enable-debug --without-icu

   

编译并安装PostgreSQL

make

make install

四、初始化数据库

启动MSYS2 MINGW64命令行界面,切换到安装目录的bin文件夹下(例如,我的是d:\postgresql-src\postgres-build\bin)

初始化数据库:./initdb -D ../data

之后,发现DATA下面各种文件都有了。

五、启停数据库

1.启动数据库并开启日志记录:./pg_ctl start -l logfile -D ../data

2.停止数据库

3.创建服务

4.查看状态

六、调试PG

1.连接数据库:

./psql -d postgres

2.获取进程

       获取当前session的后台进程号pid:

        select pg_backend_pid();     

3.使用GDB进行跟踪

4.添加断点

5.插入数据

HANG住

6.敲C,可以看到继续

-----------------------------------------------------------------------------------------------------------------

好了,按照惯例:为了方便交流,我建立了一个微信群:水煮数据库,主要交流日常工作中用到的数据库问题,包含但不限于:ORACLE,PG,MYSQL,SQLSERVER,OB,TIDB,达梦,TDSQL,OPENGAUSS,人大金仓,GBASE等等,如果有兴趣交流,可以加我微信:zq24803366, 我可以拉你入群。

-----------------------------------------------------------------------------------------------------------------
————————————————

 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/cqsztech/article/details/138359150

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/587173.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

力扣82-链表、迭代 的思考

题目解读 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 两个示范 思考 返回链表:返回更新链表后的头结点; 更新链表:判断重复元素,改变指针…

政府统计中如何使用大数据

当今世界,科技进步日新月异,互联网、云计算、大数据等现代信息技术深刻改变着人类的思维、生产、生活、学习方式。信息技术与经济社会的交汇融合引发了数据爆发式增长,数据已成为重要生产要素和国家基础性战略资源。近年来,国家统…

AI家居设备的未来:智能家庭的下一个大步

🔒目录 ☂️智能家居设备的发展和AI技术的作用 ❤️AI技术实现智能家居设备的自动化控制和智能化交互的依赖 AI家居设备的未来应用场景 💣智能家庭在未来的发展和应用前景 💥智能家居设备的发展和AI技术的作用 智能家居设备的发展和AI技术的…

【webrtc】MessageHandler 9: 基于线程的消息处理:执行Port销毁自己

Port::Port 构造的时候,就触发了一个异步操作,但是这个操作是要在 thread 里执行的,因此要通过post 消息 MSG_DESTROY_IF_DEAD 到thread跑:port的创建并米有要求在thread中 但是port的析构却在thread里 这是为啥呢?

【C# IO操作专题】

FileStream 是一个在多种编程语言中常见的概念,它代表了一个用于读写文件的流。在不同的编程语言中,FileStream 的实现和使用方式可能会有所不同,但基本概念是相似的:它允许程序以流的形式访问文件,即可以顺序地读取或…

二分图--判定以及最大匹配

水了个圈钱杯省一,不过估计国赛也拿不了奖,但还是小小挣扎一下。 什么是二分图:G(V,E)是一个无向图,若顶点V可以分为两个互不相交的子集A,B,并图中的每一条边(i,j)所关联的ij属于不同的顶点集,…

2024 华东杯高校数学建模邀请赛(A题)| 比赛出场顺序 | 建模秘籍文章代码思路大全

铛铛!小秘籍来咯! 小秘籍团队独辟蹊径,以图匹配,多目标规划等强大工具,构建了这一题的详细解答哦! 为大家量身打造创新解决方案。小秘籍团队,始终引领着建模问题求解的风潮。 抓紧小秘籍&#x…

24 JavaScript学习:this

this在对象方法中 在 JavaScript 中,this 的值取决于函数被调用的方式。在对象方法中,this 引用的是调用该方法的对象。 让我们看一个简单的例子: const person {firstName: John,lastName: Doe,fullName: function() {return this.firstN…

批处理优化

1.4、总结 Key的最佳实践 固定格式:[业务名]:[数据名]:[id]足够简短:不超过44字节不包含特殊字符 Value的最佳实践: 合理的拆分数据,拒绝BigKey选择合适数据结构Hash结构的entry数量不要超过1000设置合理的超时时间 2、批处理优…

cnPuTTY 0.81.0.1—PuTTY Release 0.81中文版本简单说明~~

2024-04-15 官方发布PuTTY 0.81本次发布主要修复了使用521位ECDSA密钥时的一个严重漏洞(CVE-2024-31497)。 如果您使用521位ECDSA私钥与任何早期版本的PuTTY组合,请考虑私钥已泄露的问题。强烈建议从相关文件中删除公钥,并使用新版本程序重新生成密钥对。…

6.C++模板(超全)

目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.1 函数模板格式 2.2 函数模板的原理 2.3 函数模板的实例化 2.4 模板参数的匹配原则 3. 类模板 1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;…

【大模型学习】Transformer(学习笔记)

Transformer介绍 word2vec Word2Vec是一种用于将词语映射到连续向量空间的技术,它是由Google的Tomas Mikolov等人开发的。Word2Vec模型通过学习大量文本数据中的词语上下文信息,将每个词语表示为高维空间中的向量。在这个向量空间中,具有相似…

关于用户体验和设计思维

介绍 要开发有效的原型并为用户提供出色的体验,了解用户体验 (UX) 和设计思维的原则至关重要。 用户体验是用户与产品、服务或系统交互并获得相应体验的过程。 设计思维是一种解决问题的方法,侧重于创新和创造。 在启动期实现用户体验和设计思维时&#…

Chinese-CLIP使用教程

目录 一:运行环境 二:代码架构 三:数据集准备 1. 文本数据处理 训练集文本处理 测试集文本处理 2. 图像数据处理 3. 生成LMDB数据库 四、模型微调 五:模型验证与测试 1. 提取图文特征 2. 图文检索 3. 计算召回率 六…

23 JavaScript学习:验证API

JavaScript验证API 举例&#xff1a; <input id"id1" type"number" min"100" max"300" required> <button onclick"myFunction()">验证</button><p id"demo"></p><script>f…

pinctrl和gpio子系统

文章目录 一、pinctrl 子系统简介二、pinctrl子系统的配置形式分析1.主要功能2.配置格式3.pinctrl驱动匹配 三、gpio子系统1.gpio系统使用流程 四、程序举例-led五、总结 一、pinctrl 子系统简介 在led操作设备树的实验中&#xff0c;对于gpio的初始化是直接操作的寄存器&…

idea No versioned directories to update were found

idea如何配置svn以及svn安装时需要注意什么 下载地址&#xff1a;https://112-28-188-82.pd1.123pan.cn:30443/download-cdn.123pan.cn/batch-download/123-820/3ec9445a/1626635-0/3ec9445a25ba365a23fc433ce0c16f34?v5&t1714358478&s171435847804276f7d9249382ba512…

使用Mybatis映射时间 DateTime ==> LocalDateTime

首先查看&#xff0c;数据库字段&#xff1a; 书写映射实体类对象VO&#xff1a; Data public class OrderListVO implements Serializable {private Integer orderId;private String memberName;private String orderNumber;private BigDecimal orderPrice;private String l…

【数据结构与算法】力扣 239. 滑动窗口最大值

题干描述 给你一个整数数组 nums&#xff0c;有一个大小为 k **的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1a; 输入&#xff1a; nums [1,3,-1,-3,5,3…

C/C++实现高性能并行计算——1.pthreads并行编程(中)

系列文章目录 pthreads并行编程(上)pthreads并行编程(中)pthreads并行编程(下)使用OpenMP进行共享内存编程 文章目录 系列文章目录前言一、临界区1.1 pi值估计的例子1.2 找到问题竞争条件临界区 二、忙等待三、互斥量3.1 定义和初始化互斥锁3.2 销毁。3.3 获得临界区的访问权&…