Install PostgreSQL 10 on CentOS 7

ติดตั้ง postgresql 10 บน centos 7

เพิ่ม repository repo และติดตั้ง

    sudo su -
    yum update -y
    yum install vim
    wget https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
    rpm -ivh pgdg-centos10-10-1.noarch.rpm
    yum install -y postgresql10-server postgresql10 postgresql10-contrib

Initialize postgres Server

    /usr/pgsql-10/bin/postgresql-10-setup initdb

    Initializing database ... OK

    ls -l /var/lib/pgsql/10

    total 8
    drwx------.  2 postgres postgres    6 Feb  6 16:58 backups
    drwx------. 20 postgres postgres 4096 Feb 13 14:01 data
    -rw-------.  1 postgres postgres  875 Feb 13 14:01 initdb.log

Start server

    systemctl start postgresql-10
    systemctl enable postgresql-10
    systemctl status postgresql-10

    ss -tulan | grep 5432

    tcp    LISTEN     0      128    127.0.0.1:5432                  *:*
    tcp    LISTEN     0      128     ::1:5432                 :::*

Enable firewall

    systemctl start firewalld
    systemctl enable firewalld
    firewall-cmd --permanent --add-service=postgresql
    --or--
    firewall-cmd --permanent --add-port=5432/tcp
    firewall-cmd --reload

Access PostgreSQL command prompt

โดย default การติดตั้งจะสร้าง user postgres การใช้งานโดยการเปลี่ยน user เป็น postgres และใช้คำสั่ง psql (ไม่ต้องใส่ password เนื่องจากอยู่ในโหมด ident คือ user ที่ login จะต้องตรงกับ ีuser ในฐานข้อมูล)

    getenv passwd  | grep postgres
    postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash

    su - postgres

    -bash-4.2$ psql
    psql (10.2)
    Type "help" for help.

    postgres=# \l

    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


    (ตั้ง password แก่ user postgres ใน ฐานข้อมูล)
    postgres=# alter role postgres with password 'postgres';
    ALTER ROLE

    postgres=# \q
    -bash-4.2$ exit
    logout
    (กลับไปยัง root)

Change mode ident to md5

    vim /var/lib/pgsql/10/data/pg_hba.conf

    local   all             all                                     peer
    host    all             all             127.0.0.1/32            ident
    host    all             all             ::1/128                 ident

เปลี่ยนเป็น

    local   all             all                                     md5
    host    all             all             127.0.0.1/32            md5
    host    all             all             ::1/128                 md5

Allow listen to all interface

    vim /var/lib/pgsql/10/data/postgresql.conf  +58
    (บรรทัดที่ 58)
    listen_addresses = '*'

Restart

    systemctl restart postgresql

Set postgres password

    passwd postgres

    Changing password for user postgres.
    New password:
    BAD PASSWORD: The password contains the user name in some form
    Retype new password:
    passwd: all authentication tokens updated successfully.

Test connect

    [root@localhost ~]# systemctl restart postgresql-10
    [root@localhost ~]# psql -U postgres postgres
    Password for user postgres:
    psql (10.2)
    Type "help" for help.

    postgres=#

results matching ""

    No results matching ""