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/data
The 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 ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok
WARNING: enabling "trust" authentication for local connections
You 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 postgre
pguser 13799 4377 0 12:37 pts/0 00:00:00 postgres -D /usr/local/pgsql/data
pguser 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 postgres
psql (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
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341