• PostgreSQL installations


    [root@test02 init.d]# ll /etc/init.d/postgresql-9.5

    -rwxr-xr-x. 1 root root 10072 May 15 06:34 /etc/init.d/postgresql-9.5

    1. 检查PostgreSQL 是否已经安装

    # rpm -qa|grep postgres

    若已经安装,则使用rpm -e 命令卸载

    [root@test02 bin]# rpm -qa|grep postgres

    postgresql-8.4.18-1.el6_4.x86_64

    postgresql-devel-8.4.18-1.el6_4.x86_64

    postgresql-libs-8.4.18-1.el6_4.x86_64

    [root@test02 bin]# rpm -e postgresql-devel-8.4.18-1.el6_4.x86_64

    [root@test02 bin]# rpm -e postgresql-8.4.18-1.el6_4.x86_64

    [root@test02 bin]# rpm -e postgresql-libs-8.4.18-1.el6_4.x86_64

    [root@test02 soft_bak]# wget http://yum.postgresql.org/9.5/redhat/rhel-6.5-x86_64/postgresql95-server-9.5.3-1PGDG.rhel6.x86_64.rpm

    [root@test02 soft_bak]# wget http://yum.postgresql.org/9.5/redhat/rhel-6.5-x86_64/postgresql95-contrib-9.5.3-1PGDG.rhel6.x86_64.rpm

    [root@test02 soft_bak]# wget http://yum.postgresql.org/9.5/redhat/rhel-6.5-x86_64/postgresql95-libs-9.5.3-1PGDG.rhel6.x86_64.rpm

    [root@test02 soft_bak]# wget http://yum.postgresql.org/9.5/redhat/rhel-6.5-x86_64/postgresql95-9.5.3-1PGDG.rhel6.x86_64.rpm

    3. 安装PostgreSQL,注意安装顺序

    [root@test02 soft_bak]# rpm -ivh postgresql95-libs-9.5.3-1PGDG.rhel6.x86_64.rpm

    warning: postgresql95-libs-9.5.3-1PGDG.rhel6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY

    Preparing...                ########################################### [100%]

       1:postgresql95-libs      ########################################### [100%]

    [root@test02 soft_bak]# rpm -ivh postgresql95-9.5.3-1PGDG.rhel6.x86_64.rpm

    warning: postgresql95-9.5.3-1PGDG.rhel6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY

    Preparing...                ########################################### [100%]

       1:postgresql95           ########################################### [100%]

    [root@test02 soft_bak]# rpm -ivh postgresql95-server-9.5.3-1PGDG.rhel6.x86_64.rpm

    warning: postgresql95-server-9.5.3-1PGDG.rhel6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY

    Preparing...                ########################################### [100%]

       1:postgresql95-server    ########################################### [100%]

    [root@test02 soft_bak]# rpm -ivh postgresql95-contrib-9.5.3-1PGDG.rhel6.x86_64.rpm

    warning: postgresql95-contrib-9.5.3-1PGDG.rhel6.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY

    Preparing...                ########################################### [100%]

       1:postgresql95-contrib   ########################################### [100%]

     4 初始化PostgreSQL 数据库

    初始化数据库

    # service postgresql-9.5 initdb

    [root@test02 pgsql]# service postgresql-9.5 initdb

    Initializing database:                                     [  OK  ]

    5. 启动服务

    # service postgresql-9.5 start

    [root@test02 pgsql]# service postgresql-9.5 start

    Starting postgresql-9.5 service:                           [  OK  ]

    6. 把PostgreSQL 服务加入到启动列表

    # chkconfig postgresql-9.2 on

    # chkconfig --list|grep postgres

    chkconfig –list|grep postgres

    7. 修改PostgreSQL 数据库用户postgres的密码

    PostgreSQL 数据库默认会创建一个postgres的数据库用户作为数据库的管理员,默认密码为空,我们需要修改为指定的密码,这里设定为’postgres’。

    [root@test02 bin]# su - postgres

    -bash-4.1$ pwd

    /var/lib/pgsql

    -bash-4.1$ psql

    psql (8.4.18, server 9.5.3)

    WARNING: psql version 8.4, server version 9.5.

             Some psql features might not work.

    Type "help" for help.

    postgres=#

    postgres=# ALTER USER postgres WITH PASSWORD 'postgres';

    ALTER ROLE

    postgres=# SELECT * from pg_shadow ;

     usename  | usesysid | usecreatedb | usesuper | userepl | usebypassrls |               passwd                | valuntil | us

    econfig

    ----------+----------+-------------+----------+---------+--------------+-------------------------------------+----------+---

    --------

     postgres |       10 | t           | t        | t       | t            | md53175bce1d3201d16594cebf9d7eb3f9d |          |

    (1 row)

    8. 测试数据库

    postgres=# CREATE DATABASE t_pgdb;

    CREATE DATABASE

    postgres=# l+

                                                                        List of databases

       Name    |  Owner   | Encoding |  Collation  |    Ctype    |   Access privileges   |  Size   | Tablespace |              

     Description                

    -----------+----------+----------+-------------+-------------+-----------------------+---------+------------+---------------

    -----------------------------

     postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |                       | 7248 kB | pg_default | default admini

    strative connection database

     t_pgdb    | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |                       | 7129 kB | pg_default |

     template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres           | 7129 kB | pg_default | unmodifiable e

    mpty database

                                                                 : postgres=CTc/postgres                         

     template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres           | 7129 kB | pg_default | default templa

    te for new databases

                                                                 : postgres=CTc/postgres                         

    (4 rows)

    切换到t_pgdb 数据库

    postgres=# c t_pgdb

    psql (8.4.18, server 9.5.3)

    WARNING: psql version 8.4, server version 9.5.

             Some psql features might not work.

    You are now connected to database "t_pgdb".

    t_pgdb=# CREATE TABLE t_table(id int primary key,name text);

    CREATE TABLE

    t_pgdb=# INSERT INTO t_table VALUES (1,'Andrew');

    INSERT 0 1

    t_pgdb=# INSERT INTO t_table VALUES (2,'Tonny');

    INSERT 0 1

    t_pgdb=# SELECT * from t_table ;

     id |  name 

    ----+--------

      1 | Andrew

      2 | Tonny

    (2 rows)

    9. 修改linux 系统用户postgres 的密码

    PostgreSQL 数据库默认会创建一个linux 系统用户postgres,通过passwd 命令设置系统用户的密码为postgres

    -bash-4.1$ exit

    logout

    [root@test02 bin]# passwd postgres

    Changing password for user postgres.

    New password:

    BAD PASSWORD: it is based on a dictionary word

    Retype new password:

    passwd: all authentication tokens updated successfully.

    修改postgresql.conf文件

    如果想让PostgreSQL 监听整个网络的话,将listen_addresses 前的#去掉,并将 listen_addresses = 'localhost' 改成 listen_addresses = '*',因为localhost只允许本机连接,#开头的参数为默认配置

    [root@test02 bin]# vim /var/lib/pgsql/9.5/data/postgresql.conf

    listen_addresses = '*'

    修改客户端认证配置文件pg_hba.conf

    将需要远程访问数据库的IP地址或地址段加入该文件

    host    all             all             0.0.0.0/0               md5

    [root@test02 bin]# su - postgres

    -bash-4.1$ service postgresql-9.5 restart

    Stopping postgresql-9.5 service:                           [FAILED]

    touch: cannot touch `/var/lock/subsys/postgresql-9.5': Permission denied

    /etc/init.d/postgresql-9.5: line 170: /var/run/postgresql-9.5.pid: Permission denied

    service postgresql-9.5 restart ( root用户执行)

    [root@test02 9.5]# /etc/init.d/postgresql-9.5 restart

    Stopping postgresql-9.5 service:                           [  OK  ]

    Starting postgresql-9.5 service:                           [  OK  ]

    /usr/pgsql-9.5/bin/pg_ctl -D /var/lib/pgsql/9.5/data/ stop

    waiting for server to shut down.... done

    server stopped

    -bash-4.1$ /usr/pgsql-9.5/bin/pg_ctl -D /var/lib/pgsql/9.5/data/ start

    server starting

    -bash-4.1$ < 2016-06-02 23:49:28.415 CST >LOG:  redirecting log output to logging collector process

    < 2016-06-02 23:49:28.415 CST >HINT:  Future log output will appear in directory "pg_log".

    -bash-4.1$ ps hf -u postgres -o cmd

    -bash

     \_ ps hf -u postgres -o cmd

    /usr/pgsql-9.5/bin/postgres -D /var/lib/pgsql/9.5/data

     \_ postgres: logger process                             

     \_ postgres: checkpointer process                       

     \_ postgres: writer process                             

     \_ postgres: wal writer process                         

     \_ postgres: autovacuum launcher process                 

     \_ postgres: stats collector process 

    -bash-4.1$ /usr/pgsql-9.5/bin/pg_ctl -D /var/lib/pgsql/9.5/data/ stop

    waiting for server to shut down.... done

    server stopped

    [root@test02 bin]# rpm -qa|grep postgres

    postgresql95-9.5.3-1PGDG.rhel6.x86_64

    postgresql-8.4.18-1.el6_4.x86_64

    postgresql-devel-8.4.18-1.el6_4.x86_64

    postgresql95-server-9.5.3-1PGDG.rhel6.x86_64

    postgresql95-contrib-9.5.3-1PGDG.rhel6.x86_64

    postgresql-libs-8.4.18-1.el6_4.x86_64

    postgresql95-libs-9.5.3-1PGDG.rhel6.x86_64

    卸载(注意顺序)

    [root@test02 bin]# rpm -e postgresql95-server-9.5.3-1PGDG.rhel6.x86_64

    [root@test02 bin]# rpm -e postgresql95-contrib-9.5.3-1PGDG.rhel6.x86_64

    [root@test02 bin]# rpm -e postgresql95-9.5.3-1PGDG.rhel6.x86_64

    [root@test02 bin]# rpm -e postgresql95-libs-9.5.3-1PGDG.rhel6.x86_64

    YUM

    如果是默认yum 安装的话,会安装较低版本的PostgreSQL 8.4,这不符合我们的要求

    我们使用PostgreSQL Yum Repository 来安装最新版本的PostgreSQL

    To use the yum repository, you must first install the repository RPM. To do this, download the correct RPM from the repository RPM listing, and install it with commands like:

    [root@test02 bin]# rpm -i https://download.postgresql.org/pub/repos/yum/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm

    Once this is done, you can proceed to install and update packages the same way as the ones included in the distribution.

    [root@test02 bin]# yum install postgresql95-server postgresql95-contrib

    Loaded plugins: product-id, security, subscription-manager

    This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.

    pgdg95                                                                                               | 3.7 kB     00:00    

    pgdg95/primary_db                                                                                    | 138 kB     00:01    

    Setting up Install Process

    Resolving Dependencies

    --> Running transaction check

    ---> Package postgresql95-contrib.x86_64 0:9.5.3-2PGDG.rhel6 will be installed

    --> Processing Dependency: postgresql95-libs(x86-64) = 9.5.3-2PGDG.rhel6 for package: postgresql95-contrib-9.5.3-2PGDG.rhel6.x86_64

    --> Processing Dependency: postgresql95(x86-64) = 9.5.3-2PGDG.rhel6 for package: postgresql95-contrib-9.5.3-2PGDG.rhel6.x86_64

    --> Processing Dependency: libpq.so.5()(64bit) for package: postgresql95-contrib-9.5.3-2PGDG.rhel6.x86_64

    ---> Package postgresql95-server.x86_64 0:9.5.3-2PGDG.rhel6 will be installed

    --> Running transaction check

    ---> Package postgresql95.x86_64 0:9.5.3-2PGDG.rhel6 will be installed

    ---> Package postgresql95-libs.x86_64 0:9.5.3-2PGDG.rhel6 will be installed

    --> Finished Dependency Resolution

    Dependencies Resolved

    ======================================================================================================================================

     Package                                Arch                     Version                               Repository                Size

    ======================================================================================================================================

    Installing:

     postgresql95-contrib                   x86_64                   9.5.3-2PGDG.rhel6                     pgdg95                   456 k

     postgresql95-server                    x86_64                   9.5.3-2PGDG.rhel6                     pgdg95                   4.5 M

    Installing for dependencies:

     postgresql95                           x86_64                   9.5.3-2PGDG.rhel6                     pgdg95                   1.3 M

     postgresql95-libs                      x86_64                   9.5.3-2PGDG.rhel6                     pgdg95                   205 k

    Transaction Summary

    ======================================================================================================================================

    Install       4 Package(s)

    Total download size: 6.5 M

    Installed size: 25 M

    Is this ok [y/N]: y

    Downloading Packages:

    (1/4): postgresql95-9.5.3-2PGDG.rhel6.x86_64.rpm                                                               | 1.3 MB     00:27    

    (2/4): postgresql95-contrib-9.5.3-2PGDG.rhel6.x86_64.rpm                                                       | 456 kB     00:15    

    (3/4): postgresql95-libs-9.5.3-2PGDG.rhel6.x86_64.rpm                                                          | 205 kB     00:06    

    (4/4): postgresql95-server-9.5.3-2PGDG.rhel6.x86_64.rpm                                                        | 4.5 MB     01:32    

    --------------------------------------------------------------------------------------------------------------------------------------

    Total                                                                                                  45 kB/s | 6.5 MB     02:26    

    Running rpm_check_debug

    Running Transaction Test

    Transaction Test Succeeded

    Running Transaction

    Warning: RPMDB altered outside of yum.

      Installing : postgresql95-libs-9.5.3-2PGDG.rhel6.x86_64                                                                         1/4

      Installing : postgresql95-9.5.3-2PGDG.rhel6.x86_64                                                                              2/4

      Installing : postgresql95-contrib-9.5.3-2PGDG.rhel6.x86_64                                                                      3/4

      Installing : postgresql95-server-9.5.3-2PGDG.rhel6.x86_64                                                                       4/4

      Verifying  : postgresql95-contrib-9.5.3-2PGDG.rhel6.x86_64                                                                      1/4

      Verifying  : postgresql95-server-9.5.3-2PGDG.rhel6.x86_64                                                                       2/4

      Verifying  : postgresql95-libs-9.5.3-2PGDG.rhel6.x86_64                                                                         3/4

      Verifying  : postgresql95-9.5.3-2PGDG.rhel6.x86_64                                                                              4/4

    Installed:

      postgresql95-contrib.x86_64 0:9.5.3-2PGDG.rhel6                    postgresql95-server.x86_64 0:9.5.3-2PGDG.rhel6                  

    Dependency Installed:

      postgresql95.x86_64 0:9.5.3-2PGDG.rhel6                         postgresql95-libs.x86_64 0:9.5.3-2PGDG.rhel6                       

    Complete!

    查看安装

    [root@test02 bin]# rpm -qa|grep postgres

    postgresql95-9.5.3-2PGDG.rhel6.x86_64

    postgresql95-server-9.5.3-2PGDG.rhel6.x86_64

    postgresql95-libs-9.5.3-2PGDG.rhel6.x86_64

    postgresql95-contrib-9.5.3-2PGDG.rhel6.x86_64

    初始化并启动数据库(root用户)

    [root@test02 9.5]# /etc/init.d/postgresql-9.5 initdb

    Initializing database:                                     [  OK  ]

    [root@test02 9.5]# /etc/init.d/postgresql-9.5 start

    Starting postgresql-9.5 service:                           [  OK  ]

    [root@test02 9.5]# ps hf -u postgres -o cmd

    /usr/pgsql-9.5/bin/postmaster -D /var/lib/pgsql/9.5/data

     \_ postgres: logger process                               

     \_ postgres: checkpointer process                         

     \_ postgres: writer process                               

     \_ postgres: wal writer process                            

     \_ postgres: autovacuum launcher process                  

     \_ postgres: stats collector process

    [root@test02 9.5]# su - postgres

    -bash-4.1$ psql

    psql (9.5.3)

    Type "help" for help.

    postgres=# l

                                      List of databases

       Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges  

    -----------+----------+----------+-------------+-------------+-----------------------

     postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

     template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

               |          |          |             |             | postgres=CTc/postgres

     template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +

               |          |          |             |             | postgres=CTc/postgres

    (3 rows)

    源码安装

    1.下载源代码

     [root@test02 ~]# wget https://ftp.postgresql.org/pub/source/v9.5.3/postgresql-9.5.3.tar.gz

    --2016-06-03 00:29:29--  https://ftp.postgresql.org/pub/source/v9.5.3/postgresql-9.5.3.tar.gz

    Resolving ftp.postgresql.org... 174.143.35.246, 213.189.17.228, 217.196.149.55, ...

    Connecting to ftp.postgresql.org|174.143.35.246|:443... connected.

    HTTP request sent, awaiting response... 200 OK

    Length: 24134415 (23M) [application/x-gzip]

    Saving to: ?.ostgresql-9.5.3.tar.gz?

    100%[============================================================================================>] 24,134,415  37.3K/s   in 9m 58s 

    2016-06-03 00:39:29 (39.4 KB/s) - ?.ostgresql-9.5.3.tar.gz?.saved [24134415/24134415]

    2.解压PostgreSQL源码包 :tar zxvf postgresql-9.2.4.tar.gz

    或 tar jxvf postgresql-9.5.3.tar.bz2

    3,切换到刚刚解压的目录下:cd postgresql-9.5.3

    4. ./configure

    如果遇到错误,则需要如下安装依赖工具包(按需安装)

    yum install gcc

    yum install readline

    yum install flex

    yum install zlib

    在执行./configure

    gmake world

    gmake install-world

    安装完毕

    然后启动数据库

    到安装目录(默认为/usr/local/postgres)

    在该目录下建立data目录 (存放数据库相关文件)

    启动数据库需要非root用户

    /usr/local/pgsql//bin

    初始化数据库

    ./initdb  -D ../data start

    启动数据库

    ./pg_clt -D ../data start

    启动后连接数据库:

    在/usrl/local/pgsql/bin目录下

    执行 ./psql 连接到默认的postgres数据

    然后可以创建数据库,创建表,等操作了。

    PostgreSQL run文件安装

    [root@test01 home]# cd /opt/soft/

    [root@test01 soft]# ll

    total 97804

    -rw-r--r--. 1 root root 38101062 May 27 17:57 postgresql-9.5.3-1-linux-x64.run

    -rw-r--r--. 1 root root 37116313 May 27 18:05 postgresql-9.6.0-beta1-linux-x64.run

    -rw-r--r--. 1  500  500 24925549 May 25 01:29 postgresql-9.6beta1.tar.gz

    [root@test01 soft]# chmod +x postgresql-9.5.3-1-linux-x64.run

    [root@test01 soft]# ll

    total 97804

    -rwxr-xr-x. 1 root root 38101062 May 27 17:57 postgresql-9.5.3-1-linux-x64.run

    -rw-r--r--. 1 root root 37116313 May 27 18:05 postgresql-9.6.0-beta1-linux-x64.run

    -rw-r--r--. 1  500  500 24925549 May 25 01:29 postgresql-9.6beta1.tar.gz

    [root@test01 soft]# ./postgresql-9.5.3-1-linux-x64.run 

    or

    [root@test01 soft]# ./postgresql-9.5.3-1-linux-x64.run  --mode text

    ......

  • 相关阅读:
    关于抑或
    【vue】条件渲染 v-if v-else
    【vue】vue的目录结构、项目流程、vue-router
    【vue】在vue中引入iview
    【vue】vue如何创建一个项目
    【jquery】jquery怎么实现点击一个按钮控制一个div的显示和隐藏
    【angularjs】ng-model controller中取不到值(input)
    打印机增强软件pdfpro
    vagrant 安装ubuntu12.04 64 bit
    debian 7 stable 不能编译android源码
  • 原文地址:https://www.cnblogs.com/songyuejie/p/5618267.html
Copyright © 2020-2023  润新知