千家信息网

PostgreSQL 9.6.1源码安装

发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,RHEL7.2+PostgreSQL9.6.1Requirements softwares1.GNU make version 3.80 or newer is required[root@rhel7
千家信息网最后更新 2025年11月12日PostgreSQL 9.6.1源码安装

RHEL7.2+PostgreSQL9.6.1


Requirements softwares

1.GNU make version 3.80 or newer is required

[root@rhel7 ~]# make --version

GNU Make 3.82

Built for x86_64-redhat-linux-gnu

2.You need an ISO/ANSI C compiler (at least C89-compliant). Recent versions of GCC are recommended

[root@rhel7 ~]# gcc --version

gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)

3. tar is required to unpack the source distribution, in addition to either gzip or bzip2.

4.The GNU Readline library is used by default.

readline

readline-devel

libedit

Optional

perl 5.8 or later

python

Kerberos

OpenSSL

OpenLDAP

and/or PAM

Flex 2.5.31 or later

Bison 1.875 or later


useradd pguser

su - pguser

tar -zxvf postgresql-9.6.1.tar.gz


Install

cd postgresql-9.6.1

./configure

默认安装目录/usr/local/pgsql,可以使用--prefix=path进行修改,./configure --help

make

The last line displayed should be:
All of PostgreSQL successfully made. Ready to install.

su (使用root安装)

make install

PostgreSQL installation complete.

Set the environment variables for pguser

mkdir /usr/local/pgsql/data #PostgreSQL数据存储目录

chown pguser:pguser /usr/local/pgsql/data

export LD_LIBRARY_PATH=/usr/local/pgsql/lib

export PG_HOME=/usr/local/pgsql

export PATH=$PG_HOME/bin/:$PATH

export PGDATA=/usr/local/pgsql/data

Initilize the DBServer

(使用pguser)

[pguser@rhel7 ~]$ initdb -D /usr/local/pgsql/dataThe files belonging to this database system will be owned by user "pguser".This user must also own the server process.The database cluster will be initialized with locale "en_US.UTF-8".The default database encoding has accordingly been set to "UTF8".The default text search configuration will be set to "english".Data page checksums are disabled.fixing permissions on existing directory /usr/local/pgsql/data ... okcreating subdirectories ... okselecting default max_connections ... 100selecting default shared_buffers ... 128MBselecting dynamic shared memory implementation ... posixcreating configuration files ... okrunning bootstrap script ... okperforming post-bootstrap initialization ... oksyncing data to disk ... okWARNING: enabling "trust" authentication for local connectionsYou can change this by editing pg_hba.conf or using the option -A, or--auth-local and --auth-host, the next time you run initdb.Success. You can now start the database server using:    pg_ctl -D /usr/local/pgsql/data -l logfile start

Start the DBServer

[pguser@rhel7 ~]$ postgres -D /usr/local/pgsql/data >logfile 2>&1 &[1] 13799[pguser@rhel7 ~]$ ps -ef |grep postgrepguser   13799  4377  0 12:37 pts/0    00:00:00 postgres -D /usr/local/pgsql/datapguser   13801 13799  0 12:37 ?        00:00:00 postgres: checkpointer process   pguser   13802 13799  0 12:37 ?        00:00:00 postgres: writer process   pguser   13803 13799  0 12:37 ?        00:00:00 postgres: wal writer process   pguser   13804 13799  0 12:37 ?        00:00:00 postgres: autovacuum launcher process  pguser   13805 13799  0 12:37 ?        00:00:00 postgres: stats collector process  pguser   13807  4377  0 12:37 pts/0    00:00:00 grep --color=auto postgre

连接测试

[pguser@rhel7 ~]$ psql --list                               List of databases   Name    | Owner  | Encoding |   Collate   |    Ctype    | Access privileges -----------+--------+----------+-------------+-------------+------------------- postgres  | pguser | UTF8     | en_US.UTF-8 | en_US.UTF-8 |  template0 | pguser | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/pguser        +           |        |          |             |             | pguser=CTc/pguser template1 | pguser | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/pguser        +           |        |          |             |             | pguser=CTc/pguser(3 rows)[pguser@rhel7 ~]$ psql postgrespsql (9.6.1)Type "help" for help.postgres=# select version();                                                 version                                                 --------------------------------------------------------------------------------------------------------- PostgreSQL 9.6.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4), 64-bit(1 row)postgres=# select current_date;    date    ------------ 2016-12-01(1 row)postgres=# \q

官方文档:https://www.postgresql.org/docs/9.6/static/installation.html

0