• 调试postgresql9.5.2最新源码


    最近在考量数据库的选型,考虑后期把数据切换到postgresql ,postgresql源码用c实现,代码很精炼完美,值得学习下

    首先去pgsql官网下载最新的源码 ,然后还需要perl,bison

    先安装ActiverPerl-5.22.1.2201x64.msi 默认装在c盘,一路点next安装。

    我是将Perl是安装到了C盘,则在系统环境变量中添加Perl的C盘路径位置。

    打开postgresql9.5.2 文件夹,找到MKVcbuild.pm文件(如下图所示),用文本编辑器打开,修改其中my $vsVersion = DetermineVisualStudioVersion()该行,变为my $vsVersion = “12.0.0”,VS2013 对应的version版本是12.0 

    反键编辑

    打开cmd或用vs2013自带的x64 cmd命令工具打开, 切换到源码msvc目录

    MSVC目录下,输入perl build.pl DEBUG  然后开始编译代码,这里需要5-6分钟,速度根据跟人的电脑配置来定

    生成源码完成后最后如图所示

    接着在命令编辑器中继续输入perl install.pl path,例如:

    perl install.pl D:pgbin

    生成后的效果如图

    这里很关键 如果没有下面的操作 你就需要去源码里面去掉管理员权限的判断,如果用超级管理员运行 会报错

    我们用cmd命令添加一个 postgres用户

    net user postgres postgres /add

    打开运行输入 runas /user:postgres cmd.exe

    此时会以postgres权限打开cmd [一定要按此操作]

    我们先直接打开cmd 初始化数据库DB,注意下图是没有用postgres用户打开的cmd 也能初始化,但是接下来的连接等就会有问题了,不稳定

    用postgres用户打开cmd

    postgres.exe -D DB 这里就启动了一个server实例,开始监听所有的链接

    这里就开始监听了

    输入postgres.exe -D DB   (注意-D中的D一定要大写),这里不一定是DB,你也可以自己定

    以上几次测试

    下面我 输入 postgres.exe -D pgsql 

    我这里用的数据库pgsql 

    到这里pgsql服务器算是启动好了。

    然后我们用navcat 连接一下试试,建一个数据库

    打开源码项目,这里加载会要几分钟时间

    backendexecutorexecMain.c ,依次打上断点

    最后我们这里打开 psql源码, 打开pquery.c,里面设置好断点

    启动调试,进断点了。

    今天还有点晚了,接下来有时间再分享源码结构的学习

    关于源码的说明有专门的网站 http://doxygen.postgresql.org/  

    接下来就可以开始postgresql的源码学习之旅了,你就可以通过navcat建表,删表,插入数据,update,多种操作,尽情的揉虐 pgsql源码了。希望此文能给大家学习pgsql一些帮助,这款数据库真的很优秀,如果你去用了会有一种相见恨晚的感觉

  • 相关阅读:
    升级windows 11小工具
    windows 10更新升级方法
    您需要了解的有关 Oracle 数据库修补的所有信息
    Step by Step Apply Rolling PSU Patch In Oracle Database 12c RAC Environment
    Upgrade Oracle Database Manually from 12.2.0.1 to 19c
    如何应用版本更新 12.2.0.1.210420(补丁 32507738 – 2021 年 4 月 RU)
    xtrabackup 安装、备份和恢复
    Centos_Lvm expand capacity without restarting CentOS
    Centos_Lvm_Create pv vg lv and mount
    通过全备+relaylog同步恢复被drop的库或表
  • 原文地址:https://www.cnblogs.com/fangyuan303687320/p/5475352.html
Copyright © 2020-2023  润新知