一、去官方网站下载PostgreSQL当前最新版(当前最新版本为9.3.2)
如上图,下载红框内的Source文件。
二、除此之外还需准备Perl(当前最新为5.18.1.1800)及Flex、Bison安装包
之所以用Perl是因为我们后面安装PG主要采用的就是Perl来安装,而Flex、Bison则是PG中对命令或查询语句进行词法、语法解析所用到的,Perl的安装教程请戳这里^_^(安装到C盘也不要紧,我们可以添加系统环境变量解决),Flex、Bison下载后不用安装,至于有童鞋想知道为什么PG需要这两个东西请戳这里^_^。我们现在有Flex、Bison的包,有PG的Source Code及Perl的安装包(要安装),如下图所示:
准备好的程序
Flex_Bison文件夹中的程序
将PG及flex_bison放置于同一文件夹下即可。
三、开始安装PostgreSQL
首先要修改一个小地方,打开PG文件夹,找到MKVcbuild.pm文件(如下图所示),用文本编辑器打开(如Notepad++),修改其中my $vsVersion = DetermineVisualStudioVersion()该行,变为
my $vsVersion = “9.0.0”,至于为什么这么改,是因为不这么改,我的VS2008就无法打开,并且项目也无法编译成功,这个地方我不敢保证是不是特例还是共性,有待验证。具体如下图所示:
接下来如果Perl是安装到了C盘,则在系统环境变量中添加Perl的C盘路径位置,比如:
打开你的命令编辑器,因为我的电脑是64位的,这里我打开的是VS自带的64位命令编辑器,CMD也OK。
到MSVC目录下,输入perl build.pl DEBUID
这样就开始编译了,全过程大概需要5分钟吧,期间可能会有若干warning,但是无所谓啦,只有没有error就行,(我自己安装了两遍,有些许warning,但是绝对没有error出现)
编译结束后,就可以打开你的工程了,如下图所示
接着在命令编辑器中继续输入perl install.pl (此处为bin文件夹路径,自己指定),例如:
perl install.pl C:/bin,这样就可以将相关执行文件拷贝到你的bin目录下,将来执行的时候就可以在bin目录下执行了
执行完后,恭喜,PG就安装完成了,下面你可以简单的登陆你的PG来进行调试了
四、简单的调试
首先初始化系统数据目录(包括系统表等元数据)输入initdb.exe DB(数据目录名字,可自己指定)
其次启动服务器,输入postgreys.exe -D DB (注意-D中的D一定要大写)
再次,启动客户端(另打开一个窗口),输入psql.exe DB
最后,自己可以create
database,create table,往table中insert
into些数据,最后可以select数据等等,就可以自由操纵了,比如下例中,执行一个Select语句,通过VS2008附加到进程中去跟代码,具体研究PG的细节实现。
五、结尾
如何安装并且开始调试postgresql
1. 安装linux操作系统
注意把gdb、emacs或ddd这些开发工具都安装上。如果是在虚拟机上安装,依然需要设置linux系统的网络环境;另外需要设置文件共享,方便windows下面的postgresql源码能在linux下面访问到。
2. 安装postgresql
useradd postgre
(自动建立 postgre 组;设计人员为了安全考虑,postgresql 不能以root 用户运行,所以必须建立对应的用户和组。)
解压到 /usr/local/src
tar xvfz postgresql-8.4.tar.gz
cd postgresql-8.4
./configure --prefix=/usr/local/pgsql --enable-debug --enable-assert --without-readline --without-zlib
make
make install
chown -r postgre.postgre /usr/local/pgsql
3. 设置postgres环境变量(非必须)
vi ~postgre/.bash_profile
添加:
pglib=/usr/local/pgsql/lib
pgdata=$home/data
path=$path:/usr/local/pgsql/bin
manpath=$manpath:/usr/local/pgsql/man
export pglib pgdata path manpath
4. 建立数据库
以 postgres 用户登录:
su postgre
建立数据库目录:
mkdir data
启动数据库引擎:
initdb –d “数据库目录”
之后可以根据提示,通过psql进入数据库
5. 构造postgresql调试环境
先 psql template1进去,然后
select pg_backend_pid();
获得id,就是gdb后面用到的数字
gdb /usr/local/pgsql/bin/postgres 997(pid的数字)
如果只使用gdb,全部是命令行界面;而emac、ddd分别是彩色、黑白用户交互式图形界面。
6. 使用gdb进行调试
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....