源码安装PostgreSQL过程记录(Mac os,大体适用于linux,windows可做参考)

一、源码获取

1.源码路径可从官网直接下载对应版本的代码,此为官网下载地址https://www.postgresql.org/ftp/source/,我采用的是此路径。

 2.可从gituhub仓库克隆下来,克隆命令为

git clone git://git.postgresql.org/git/postgresql.git

源码的目录(11.5版本)如下:

 二、requirements

官方源码包:

1. GNU make >= 3.80,可通过make --version查看版本(有时make也被gmake名称代替),若没有,请安装。

2.ISO/ANSI C编译器,C89及其之后版本,可通过如下相关命令之一查看

cc -v
gcc -v
clang -v

3.GNU Readline库,有时又命名为libedit,libreadline,没有该库可以在安装“configure”中设置“--without-readline”选项,后面会提及。

4.zlib 压缩库,以上两个依赖库一般存在于/usr/lib下,同样可以设置“-without-zlib”。

Git克隆源码:

如果是通过git下来的源码,除以上要求,还需要:

1. Flex >=2.5.31

2. Bison>=1.875

3. Perl >=5.8.3

三、安装(可自行参照源码包里的INSTALL,里面有官方详细讲解)

1.运行configure检查系统环境。

可以选择在configure执行

./configure

也可单独新建一个文件夹然后在该目录下运行configure(推荐这种方式,因为安装过程中会新生成一些文件,后面可删除)

mkdir build_dir
cd build_dir
// build_dir里运行configure

 运行部分截图如下:

2.make编译。

在编译阶段可有多种选项选择(例如上文提到的缺失库情况),若有相关要求,自行参照INSTALL文件配置选项。

通常,make语句即可。

make

运行截图如下,若成功,最后一句话应该为“All of PostgreSQL successfully made. Ready to install.”

若需要安装说明文档(HTML and man pages)和contrib模块,可以执行以下语句

make world

3.回归检验(可跳过此步)

运行命令

make check

 运行截图

4.安装

运行命令

make install

部分截图

若在前面编译阶段选了make world命令,此处可执行以下命令安装说明文档。

make install-world

部分截图

ok,到此postgresql已经安装成功了!安装目录在/usr/local/pgsql。但是,要想安心使用,还需要后面的配置步骤。

四、配置

1.共享库配置

postgresql里提供了一些库函数以供调用,它们在/usr/localpgsql/lib下,如下所示:

需要配置环境变量LD_LIBRARY_PATH。可选择在shell命令行("sh", "ksh","bash", "zsh")输入以下命令:

LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH

若是 "csh" or "tcsh",则输入:

setenv LD_LIBRARY_PATH /usr/local/pgsql/lib

但以上命令仅仅使LD_LIBRARY_PATH存活在shell生存期,关闭命令行,也就失效。因此,可以写到系统环境配置/etc/profile或用户环境配置~/.bash_profile文件中去(推荐后者)。输入以下命令:

vim ~/.bash_profile

在打开文件中添加上述两行命令代码:

LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH

2.环境变量配置

postgresql安装于/usr/local/pgsql下,为了使用方便,应该为其配置环境变量。同上面包配置一样,为了长期生效,应将环境变量配置于文件中,执行以下命令:

vim ~/.bash_profile

在文件中添加以下代码:

PATH=$PATH:/usr/local/pgsql/bin

如果安装了说明文档,再添加两行代码:

MANPATH=/usr/local/pgsql/share/man:$MANPATH
export MANPATH

3.检查配置

退出当前shell,重开命令台,输入命令,检查配置是否都正确。

export -p

五、使用数据库

1.需要为PostgreSQL server配置一个用户

若在linux下,可以使用以下命令(配置一个名为postgres的用户):

adduser postgres

在root模式下:

root# mkdir /usr/local/pgsql/data
root# chown postgres /usr/local/pgsql/data
root# su - postgres

但是,由于Mac os没有adduser命令,其添加用户通过dscl命令。

sudo dscl . -create /Users/postgres

通过以下命令,可查看是否成功

dscl . -list /Users

不过,我用户添加成功之后,问题来了,当我使用以下命令

sudo chown postgres /usr/local/pgsql/data

报错如下:

没办法,我只能把当前电脑使用用户slp进行chown命令(还望知道该问题原因的大佬能留言告诉一下,谢谢):

sudo slp postgres /usr/local/pgsql/data
su - slp

2. 用户定权之后,执行initdb语句:

/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

其中-D指向了数据的存储地址为/usr/local/pgsql/data下。

3.开启服务器

  • 以前台方式开启:
    /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data

    运行如图:

  • 以后台方式运行:
sudo nohup /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data     </dev/null >>server.log 2>&1 </dev/null &

4. 创建数据库

createdb testdb

 5.连接数据库

psql testdb

运行如图:

ok,先记录到这吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章