PG基础-01 PG9.6.2源代码安装

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+++++ 一:环境准备

1.源码下载地址: https://www.postgresql.org/ftp/source/ 可以选择想要编译的版本

2.本次安装介质: postgresql-9.6.2.tar.gz 

3.Linux版本:CentOS release 6.6 (Final) Linux version 2.6.32-504.16.2.el6.x86_64  gcc version 4.4.7

4.主机配置: MemTotal:132103552 kB  CPU(s): 48 AuthenticAMD 2593.609MHZ  DISK:1.5T

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+++++ 二:安装命令:默认安装位置 /usr/local/pgsql/ 各选项含义见第三部分

cd /data/soft/pg/postgresql-9.6.2

./configure --with-pgport=4321 --with-python --with-openssl --enable-debug --enable-coverage --enable-profiling --enable-cassert --enable-depend 

gmake

gmake install

命令正常完成输出

[gmake] All of PostgreSQL successfully made. Ready to install.

[gmake install] PostgreSQL installation complete.

更改环境变量 [/etc/profile]

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

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

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

source /etc/profile

备注:在带以下参数时报错,Linux没有相关安装包

[--with-ldap]       configure: error: library 'ldap' is required for LDAP

[--enable-dtrace]   configure: error: dtrace not found

[--with-ossp-uuid ] configure: error: library 'ossp-uuid' or 'uuid' is required for OSSP UUID

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

+++++ 三:参数含义

缺省设置

安装目标目录 缺省时所有文件都将安装到 /usr/local/pgsql 目录

--prefix=PREFIX

安装目标目录

--exec-prefix=EXEC-PREFIX

体系相关的文件的存放位置,若无该参数,则安装到 --prefix 指定的目录

--bindir=DIRECTORY

声明可执行程序的目录,缺省是EXEC-PREFIX/bin ,通常也就是 /usr/local/pgsql/bin

--sysconfdir=DIRECTORY

设置各种配置文件的目录。缺省是 PREFIX/etc

--libdir=DIRECTORY

设置库文件和动态装载模块的目录。缺省是 EXEC-PREFIX/lib

--includedir=DIRECTORY

设置 C 和 C++ 头文件的目录。缺省是 PREFIX/include

--datarootdir=DIRECTORY

设置各种类型只读数据文件的根目录。这只设置了一些下面的缺省选项。缺省是 PREFIX/share

--datadir=DIRECTORY

设置使用安装程序的只读数据文件的目录,缺省是 DATAROOTDIR 。 请注意这与你的数据库文件放在哪里无关。

--localedir=DIRECTORY

设置安装现场数据的目录,特别是消息转变目录文件。缺省是 DATAROOTDIR/locale

--mandir=DIRECTORY

随着PostgreSQL 一起的手册页将安装到这个目录的 man 子目录里。 缺省是 DATAROOTDIR/man

--docdir=DIRECTORY

设置除 "man" 以外的文档文件的根目录。这只设置下面选项的缺省, 这个选项的缺省值是 DATAROOTDIR/doc/postgresql

--htmldir=DIRECTORY

PostgreSQL 的 HTML-格式文档将安装在这个目录。 缺省是 DATAROOTDIR

--with-includes=DIRECTORIES

DIRECTORIES 是一系列冒号分隔的目录(用于查找库文件), 这些目录将被加入编译器的头文件搜索列表中。 

如果你有一些可选的包(比如GNU Readline)安装在非标准位置, 你就必须使用这个选项, 以及可能还有相应的 --with-libraries 选项。

--enable-nls[=LANGUAGES]

打开本地语言支持(NLS),也就是以非英文显示程序信息的能力。如果你没有声明一个列表,那么就安装所有可用的翻译。

--with-pgport=NUMBER

NUMBER为服务器和客户端的缺省端口(缺省是 5432)。

--with-perl

编译PL/Perl服务器端编程语言。

--with-python

编译PL/Python服务器端编程语言。

--with-tcl

编译PL/Tcl服务器端编程语言。

--with-tclconfig=DIRECTORY

Tcl安装的 tclConfig.sh 文件所在目录,它里面包含编译 Tcl 模块的配置信息。

--with-gssapi

编译支持GSSAPI认证的东西。

--with-krb5

编译支持 Kerberos 5 认证的东西。

--with-krb-srvnam=NAME

缺省的 Kerberos 服务主的名称(通过 GSSAPI 使用)。

--with-openssl

编译支持 SSL (加密的)连接。这个选项需要安装 OpenSSL 包。

--with-pam

编译PAM(可插拔认证模块)支持。

--with-ldap

编译 LDAP 支持。在 Unix 上,这需要 OpenLDAP 包的支持。

--without-readline

避免使用Readline与libedit库。 这样就关闭了psql 里的命令行编辑和历史,因此我们不建议这么做。

--with-libedit-preferred

优先使用 BSD-认证的libedit 库而不是GPL认证的Readline库。 

该选项仅在同时安装了这两个库的情况下才有意义。 缺省使用Readline库。

--with-bonjour

编译 Bonjour 支持。这要求操作系统支持 Bonjour 。在 Mac OS X 上建议使用。

--with-ossp-uuid

使用 OSSP UUID library 编译组件。 特别是,编译 uuid-ossp 模块, 它提供了函数产生 UUIDs 。

--with-libxml

编译 libxml (开启SQL/XML支持)。需要 Libxml 2.6.23 或者更高版本支持这一特性。

--with-libxslt

当编译 xml2 模块时,使用 libxslt。 xml2依赖于这个库执行 XSL 转变成 XML 。

--disable-integer-datetimes

禁用 64 位的时间戳整数存储和时间间隔支持。并且作为浮点数存储时间值。开启和 PG 8.4 兼容。

--disable-float4-byval

禁用"按值传递" float4 值,使它们"通过引用"传递。 此选项消耗性能,为了兼容 C 程序并且使用 "版本 0"调用约定。

--disable-float8-byval

禁用"按值传递"传递 float8 值,使它们"通过引用"传递。 此选项消耗性能,为了兼容 C 程序并且使用 "版本 0"调用约定。

--with-segsize=SEGSIZE

设置段大小 ,以GB为单位。 大表被分成多个操作系统文件,每个文件的大小等同于段大小。默认段大小,1024MB 。

这可以帮助减少当大表工作时消耗掉的文件描述符数量。

请注意,改变这个值需要初始化数据库。

--with-blocksize=BLOCKSIZE

设置块大小,以 KB 为单位。这是表中存储和 I/O 单元。默认 8K ,范围 1K - 32K ,值是 2 的幂等。

请注意,改变这个值需要初始化数据库。

--with-wal-segsize=SEGSIZE

设置WAL段大小,以MB为单位。 这是WAL 日志中每个单独的文件的大小 。默认 16M ,范围 1M -64M ,值是 2 的幂等。

请注意,改变这个值需要初始化数据库。

--with-wal-blocksize=BLOCKSIZE

设置WAL块大小,以KB为单位。 这是WAL 日志中存储和 I/O 单元。默认 8K,范围 1K - 64K ,值是 2 的幂等。

--disable-spinlocks

允许在 PostgreSQL 没有该平台的 CPU 自旋锁支持的情况下编译成功。

--disable-thread-safety

禁用客户端库是线程安全的。 这样就允许在 libpq 和 ECPG 程序里的并发线程安全地控制他们私有的连接句柄。

--with-system-tzdata=DIRECTORY

PostgreSQL 包括它自己的时区数据库, 它要求对日期和时间操作。一般此项无用。Linux时区数据库默认为 /usr/share/zoneinfo 。

--without-zlib

避免使用 Zlib 库。这样就关闭了pg_dump 和 pg_restore 里面的压缩支持。一般此项无用。

--enable-debug

把所有程序和库以带有调试符号的方式编译。

这意味着你可以通过一个调试器运行程序来分析问题。

这样做显著增加了最后安装的可执行文件的大小。

推荐开发、研究、排查问题时、是 GCC 编译器时打开 。

--enable-coverage

如果使用 GCC,所有的程序和库连同代码覆盖测试仪器一起被编译。 

在运行时,它们与代码覆盖率度量在编译目录下生成文件。 

当做开发工作时,该选项仅用于 GCC 。

--enable-profiling

如果使用 GCC,则编译所有程序和库,使他们可以描绘轮廓。

在后端出口,创建子目录,包含分析使用的 gmon.out 文件。 当做开发工作时,该选项仅用于 GCC。

--enable-cassert

打开服务器中的断言(assertion)检查,它会检查许多"不可能发生"的条件。

推荐开发、研究、排查问题时时打开 。

--enable-depend

打开自动倚赖性跟踪。如果打开这个选项, 那么 makefile 文件将设置为在任何头文件被修改的时候都将重新编译所有受影响的目标文件。

推荐开发、研究、排查问题时、是 GCC 编译器时打开 。

--enable-dtrace

编译 PostgreSQL 支持动态跟踪工具 DTrace 。

指向dtrace程序,设置环境变量DTRACE。

这往往是必须的,因为 dtrace 通常安装在 /usr/sbin 中且该目录一般不在搜索路经中。

备注:默认 Linux 下没有 dtrace ,有 strace 。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

时间: 2024-09-27 21:16:34

PG基础-01 PG9.6.2源代码安装的相关文章

Python基础01 Hello World!

原文:Python基础01 Hello World! 作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢!   简单的'Hello World!'   Python命令行 假设你已经安装好了Python, 那么在Linux命令行输入: $python 将直接进入python.然后在命令行提示符>>>后面输入: >>>print 'Hello World!' 可以看到,随后在屏幕上输出: Hello Worl

《Python数据分析》一1.2 从源代码安装NumPy、SciPy、matplotlib和IPython

1.2 从源代码安装NumPy.SciPy.matplotlib和IPython 在万不得已或者希望尝鲜最新代码时,可以直接编译源代码.实际上,虽然在此过程中有可能会碰到麻烦,但是也未必是很困难的事情,主要还是取决于使用的操作系统.如果操作系统和相关软件的发展与时俱进,搜索在线资源或网上求助才是我们的上上策.本章将向大家推荐一些寻求帮助的好去处. 源代码可以用git得到,或者从GitHub网站下载.从源代码安装NumPy的具体步骤非常简单,下面会加以讲解.利用git取得NumPy源代码的方法如下

《TensorFlow技术解析与实战》——2.4 从源代码安装

2.4 从源代码安装 从源代码编译安装,需要使用Bazel编译工具.我们先安装Bazel工具.在需要依赖的JDK 8配好之后,在Mac笔记本上直接执行下面命令,安装版本是0.4.4: brew install bazel 其他操作系统(如Ubuntu)的计算机对Bazel的安装,可以采用apt-get等方式. 先进入tensorflow-1.1.0的源代码目录,运行./configure脚本会出现所采用的Python路径.是否用HDFS.是否用Google Cloud Platform等选项,读

openolat源代码安装调试

问题描述 openolat源代码安装调试 哪位大神接触过openolat源代码安装调试,本人初学者一枚,遇到很多问题,望大神不吝赐教! 解决方案 第12章 源代码调试

《精通Nginx》——1.2 从源代码安装Nginx

1.2 从源代码安装Nginx Nginx代码提供了两个独立的下载分支-标准版和开发版.开发分支是一个正处于积极开发状态的版本.在这个版本中将会有一些新的功能被集成到其中,在标准版中是找不到这些功能的.当一个"开发"版被发布时,它会经历同样的QA和作为标准版的一组类似功能的测试.因此无论哪一个分支都可以用于生产环境.两者主要的不同在于对第三方模块的支持.在开发版本里内部的API可能会改变,而标准版本却保持不变,因此为了向下兼容第三方模块,在标准版本中第三方模块都可以有效使用. 1.2.

源代码安装GIT

  参考URL:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=25150840&id=4250659 若是条件允许,从源代码安装有很多好处,至少可以安装最新的版本.Git 的每个版本都在不断尝试改进用户体验,所以能通过源代码自己编译安装最新版本就再好不过了.有些 Linux 版本自带的安装包更新起来并不及时,所以除非你在用最新的 distro 或者 backports,那么从源代码安装其实该算是最佳选择. Git 的工作需要

opensips源代码安装与配置的技巧方法_Linux

1.源代码下载 1.1 opensips源码包下载 最新的opensips下载位置:http://opensips.org/pub/opensips/latest/src/ 所有版本的opensips下载位置:http://opensips.org/pub/opensips/ 1.2 opensips依赖包下载 源代码安装软件要注意查看README,INSTALL等文件,这些文件里有很重要的说明和安装信息. 在INSTALL文件中有opensips所依赖的软件包的说明,这里仅缺少如下几个软件包:

Linux 源代码 安装vsftpd 2.3.4

Linux 源代码 安装vsftpd 2.3.4   2011-10-22 12:15:40|  分类: Unix/Linux 笔记 |  标签:linux  vsftpd  |举报|字号 订阅 wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-2.3.4.tar.gz(官方地址,下载很慢,不推荐这个地址)    wget http://xiazai.xiazaiba.com/Soft/V/vsftpd-2.3.4.tar.gz 如果系统已经安装v

Linux下源代码安装apache+mysql+php

Linux下源代码安装apache+mysql+php /******************************* * I am pefocus,pefocus is me !* *******************************/ 编译环境:RedHat Enterprise AS 5,开启SELlinux 所需要的软件:apache,php,phpmyadmin,mysql,GD及库相关         libpng-1.2.24.tar.bz2   zlib-1.2.3.