PostgreSQL安装、配置及简单使用方法

  #开始编译安装

  [root@node1 soft]# tar xf postgresql-9.6.1.tar.bz2

  [root@node1 soft]# cd postgresql-9.6.1

  # yum -y groupinstall "Development tools" #开发包组

  # yum -y install perl-ExtUtils-Embed readline-devel zlib-devel python-devel #依赖包

  # http://www.jb51.net/article/configure --prefix=/usr/local/postgresql-9.6.1 --with-perl --with-python --with-blocksize=32 --with-wal-blocksize=64 --with-wal-segsize=64

  # make && make install

  #安装后的配置

  [root@node1 postgresql-9.6.1]# cat /etc/profile.d/postgresql.sh

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

  export PGDATA=/data/pgdata

  [root@node1 postgresql-9.6.1]# source /etc/profile.d/postgresql.sh

  [root@node1 postgresql-9.6.1]# echo "/usr/local/pgsql/lib" > /etc/ld.so.conf.d/pgsql.conf

  [root@node1 postgresql-9.6.1]# ldconfig

  #创建数据库目录并初始化数据库

  [root@node1 postgresql-9.6.1]# mkdir /data/pgdata/

  [root@node1 postgresql-9.6.1]# chown -R postgres.postgres /data/pgdata/

  [root@node1 postgresql-9.6.1]# su - postgres

  -bash-4.2$ initdb

  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".

  fixing permissions on existing directory /data/pgdata ... 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

  Success. You can now start the database server using:

  pg_ctl -D /data/pgdata -l logfile start

  #安装contrib目录下的工具

  # cd postgresql-9.6.1/contrib/

  # make

  # make install

  #启动和停止数据库

  # pg_ctl start -D $PGDATA #PGDATA是pgsql的数据目录

  # pg_ctl stop -D $PGDATA [-m SHUTDOWN-MODE]

  其中-m是制定数据库的停止方法,有以下三种

  smart:等所有的连接中止后,关闭数据库。如果客户端不中止,则无法关闭数据库。

  fast:快速关闭数据库,断开客户端的连接,让已有的事务回滚,然后正常关闭数据库。

  immediate:立即关闭数据库,相当于数据库进程立即停止,直接退出,下次启动数据库需要进行修复。