Postgresql源码安装

以在64位CentOS6.5操作系统上源码安装postgresql-9.6beta1为例

一.进入官网下载代码(postgresql-9.6beta1.tar.gz)

https://www.postgresql.org

二.将源码上传到服务器/home/alian目录下

可以在windows安装ssh或xftp工具,也可以在CentOS安装lrzsz的rpm包(使用rz,sz命令)上传或下载文件。

三.将源码在当前目录下解压

[[email protected] alian]# tar xzvf postgresql-9.6beta1.tar.gz

四.进入解压后的目录postgresql-9.6beta1,使用configure工具查看编译帮助

[[email protected] postgresql-9.6beta1]# ./configure --help

五.根据帮助中各配置描述选择适合自己的配置选项

如下命令中

--prefix=/opt/pg9.6

pg软件的安装路径

以下4个配置不是必须的,但如果想修改必须要重新initdb

--with-segsize=1

表在操作系统上物理文件大小,单位GB,默认值为1,如果表大于1GB,将在操作系统上分割成多个1GB的文件。

--with-blocksize=32

块大小,单位KB,默认值为8,是表数据I/O和存储的单元,范围1-32,且必须是2的N次方。

--with-wal-segsize=32

WAL在操作系统上物理文件大小,单位MB,默认值16,范围1-64,且必须是2的N次方。

--with-wal-blocksize=64

WAL块大小,单位KB,是WAL I/O和存储的单元,范围1-64,且必须是2的N次方。

[[email protected] postgresql-9.6beta1]# ./configure --prefix=/opt/pg9.6 --with-segsize=1 --with-blocksize=32 --with-wal-segsize=32 --with-wal-blocksize=64

checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking which template to use... linux
checking whether to build with 64-bit integer date/time support... yes
checking whether NLS is wanted... no
checking for default port number... 5432
checking for block size... 32kB
checking for segment size... 1GB
checking for WAL block size... 64kB
checking for WAL segment size... 32MB
checking for gcc... gcc

..............

configure过程中可能会出现下面的错误,原因是缺少对应的库,安装对应的库即可。

configure: error: readline library not found

[[email protected] postgresql-9.6beta1]# yum install readline-devel

 configure: error: zlib library not found

[[email protected] postgresql-9.6beta1]# yum install zlib-devel

六.configure成功后,可以直接执行make命令进行简单编译,也可以执行make world将contrib目录下的扩展工具一起编译,当然也可以先进行简单编译,然后进入contrib下对某一工具进行单独编译

方法一:简单安装

1.执行命令

[[email protected] postgresql-9.6beta1]# make && make install

命令执行完之后,pg软件就被安装到/opt/pg9.6路径下

[[email protected] postgresql-9.6beta1]# ls /opt/pg9.6/
bin include lib share

2.如果想安装contrib下的某一扩展工具,以检测数据库运行的pg_stat_statements为例

进入contrib/pg_stat_statements目录下(前提是已在主目录下执行了configure)

[[email protected] postgresql-9.6beta1]# cd contrib/pg_stat_statements/

执行命令

[[email protected] pg_stat_statements]# make && make install

方法二、全部安装(contrib下所有的扩展工具)

[[email protected] postgresql-9.6beta1]# make world && make install-world

七、软件安装完成后,进行初始化

1.新建一个用户postgres

[[email protected] postgresql-9.6beta1]# groupadd postgres

[[email protected] postgresql-9.6beta1]# useradd postgres

2.创建PGDATA目录

[[email protected] postgresql-9.6beta1]# mkdir -p /mnt/pgdata
[[email protected] postgresql-9.6beta1]# chown postgres:postgres /mnt/pgdata/

3.使用postgres用户初始化

[[email protected] postgresql-9.6beta1]# su postgres

[[email protected] postgresql-9.6beta1]$ /opt/pg9.6/bin/initdb -D /mnt/pgdata -E UTF8 --locale=C

4.使用postgres用户启停数据库

[[email protected] postgresql-9.6beta1]$ /opt/pg9.6/bin/pg_ctl -D /mnt/pgdata/ start
server starting

[[email protected] postgresql-9.6beta1]$ /opt/pg9.6/bin/pg_ctl -D /mnt/pgdata/ stop
waiting for server to shut down....LOG: database system is shut down
done
server stopped

5.修改配置文件,使用客户端访问数据库

初始化完成后,会自动为数据库创建一个超级用户postgres(执行initdb的用户),但是数据库还没有给该用户设置访问密码,所以启动数据库后,执行下面的命令,给该用户配置一个密码

[[email protected] postgresql-9.6beta1]$ /opt/pg9.6/bin/psql -U postgres
psql (9.6beta1)
Type "help" for help.

postgres=# alter user postgres with password ‘password‘;
ALTER ROLE
postgres=# \q

另外,在PGDATA目录下生成配置文件pg_hba.conf和postgresql.conf,

postgresql.conf中配置#listen_addresses = ‘localhost‘,表示只监听本地连接,将此配置改成*用来监听所有IP的访问,也可以指定特定的IP(注意前面的注释符#删掉)

listen_addresses = ‘*‘

pg_hba.conf主要内容如下

# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
# IPv6 local connections:
host all all ::1/128 trust

其中trust表示允许无密码访问,这是不安全的,将其改为md5,使用密码访问。

# "local" is for Unix domain socket connections only

local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5

修改完密码和配置文件后重启服务再次访问数据库时就会提示输入密码

[[email protected] postgresql-9.6beta1]$ /opt/pg9.6/bin/psql -U postgres
Password for user postgres:
psql (9.6beta1)
Type "help" for help.

postgres=#
时间: 2024-11-14 03:47:50

Postgresql源码安装的相关文章

PostgreSQL运维实战精讲之“postgresql源码安装”

一.下载地址 wget https://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.gz 二.安装: #安装依赖包 yuminstall -y perl-ExtUtils-Embed readline-devel zlib-devel pam-devellibxml2-devel libxslt-devel openldap-devel python-devel gcc-c++   openssl-devel cmake -

PostgreSQL源码安装文档

This document describes the installation of PostgreSQL using the source    code distribution. (If you are installing a pre-packaged distribution,    such as an RPM or Debian package, ignore this document and read the    packager's instructions instea

Linux环境下源码安装PostgreSQL

1.下载PostgreSQL源码包,并保存到Linux操作系统的一个目录下 2.解压PostgreSQL源码包 :tar zxvf postgresql-9.2.4.tar.gz 或 tar jxvf postgresql-9.2.4.tar.bz2 3,切换到刚刚解压的目录下:cd postgresql-9.2.4 4. ./configure 如果遇到错误,则需要如下安装依赖工具包(按需安装) yum install gcc yum install readline yum install

linux下PostgreSQL数据库的源码安装

实验环境>>>>>>>>>>>>>>>>>>操作系统:CentOS release 6.3 (Final)数据库版本:PostgreSQL 9.3.5 安装postgresql的依赖有 a.需要一个ISO/ANSIC编译器(至少兼容C89). b.需要GNU make: 不能使用其它make程序. c.缺省时将自动使用GNU Readline库.需要readline和readline-devel 两

ubuntu14.04源码安装postgresql 9.1

项目需要使用gisgraphy,怎奈gisgraphy3.0只支持postgis1.5.因此只能安装老版本的posgresql和postgis了,从postgis的support matrix图可以看到postgis不同版本支持的postgresql, 我安装的是postgresql9.1.14. 1.下载postgresql9.1版本的源码,http://www.postgresql.org/docs/9.1/static/install-short.html 2.解压缩,然后切换到解压缩后的

windows下源码安装调试postgresql

环境:windows 10 postgresql版本:postgresql-9.6.5 使用工具:vs2017社区版 辅助工具:perl.diff.flex.bison 相关工具下载地址: perl下载链接:http://pan.baidu.com/s/1i5aPilB 密码:k6f0 diff.flex.bison下载链接:http://pan.baidu.com/s/1hrHotes 密码:4ku6 以上工具均为绿色版,解压后,设置环境变量即可 此处使用的编译调试工具为vs2017社区版,该

CentOS7 源码安装 PostgreSQL 12

PostgreSQL 12 源码安装 Table of Contents 1. 下载 2. 准备环境 3. 编译安装 4. 设置环境变量 5. 初始化数据库 6. 配置参数文件 6.1. postgresql.conf 6.2. pg_hba.conf 7. 数据库启动与关闭 7.1. 手动 7.2. 开机自动启动 1 下载 官网提供了源码和预安装的版本. 源码需要编译安装,解决依赖包等问题,而预安装的版本要简单很多.只需下载解压, 初始化数据库即可. 本例以源码安装为例:请至官网 下载源码.

centos环境源码安装postgresql9.4

源码安装简要步骤 下载PostgreSQL 源码包  下载根目录地址:http://ftp.postgresql.org/  本人选择的是当前最新版本v9.4.1:http://ftp.postgresql.org/pub/source/v9.4.1/  本人下载的源码压缩包地址如下: $ /usr/local/postgresql 1 解压源码包 $ tar -zxvf postgresql-9.4.1.tar.gz 1 进入解压后的目录 $ cd postgresql-9.4.1 1 开始编

pgrouting源码安装说明

1.前提条件: CentOS Linux release 7.2.1511 (Core) X64 postgresql-9.6.1 源码安装 postgis-2.3.0 源码安装 修改环境变量文件 vi /etc/profile export LD_LIBRARY_PATH=/opt/pgsql/9.6.1/lib:/usr/local/lib:/usr/local/lib64 export PATH=/opt/pgsql/9.6.1/bin:$PATH export MANPATH=/opt/