วันศุกร์ที่ 12 เมษายน พ.ศ. 2562

Install PostgreSQL 11 on Ubuntu 18.04

การติดตั้ง PostgreSQL 11


*ถ้าไม่ต้องการติดตั้ง Version 11 จะลงตาม Version ที่มากับ Repository Linux ให้ข้ามไปตรง #Install PostgreSQL ได้เลยครับ

Official: PostgreSQL Installation
Reference: Install PostgreSQL, Install pgAdmin4, Getting Started
# Install PostgreSQL 
sudo apt update
sudo apt install wget gnupg2

Create the file /etc/apt/sources.list.d/pgdg.list and add repository
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
# Import repository signing key, then update package lists
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update

# Install PostgreSQL, ถ้าไม่ทำตามขั้นตอนข้างบนจะติดตั้งตาม Version ที่มากับ Repository ของ Linux
sudo apt install postgresql postgresql-contrib

# Check PostgreSQL Status
sudo systemctl status postgresql

ทำการทดสอบโดยใช้ user postgres
# Connect to PostgreSQL
sudo su - postgres
psql
-- Show your connection information

\connifo
-- You are connected to database "postgres" as user "postgres" 
-- via socket in "/var/run/postgresql" at port "5432".

-- Show help
\?

-- Quit
\q

เราสามารถใช้ psql -c "command" ได้หากไม่ต้องการเข้า psql เช่น
# Display User List
psql -c "\du"

# List All Database
psql -c "\l"

# List All Extension
psql -c "\dx"

คำสั่งพื้นฐานอื่นๆ ใน psql
-- Change Password
ALTER USER username WITH PASSWORD 'newpassword';

-- Create Extension
CREATE EXTENSION pgcrypto;

คำสั่งพื้นฐานอื่นๆ ใน bash
# Login user as "postgres"
sudo su - postgres

# Create and Remove User
create --interactive --pwprompt
dropuser username

# Create and Remove Database
createdb -O username databasename
dropdb databasename




Install pgAdmin4 (Web)

ติดตั้ง pgAdmin4 สำหรับเว็บ

pgAdmin4 เป็นตัวช่วยจัดการฐานข้อมูลที่เป็น Graphic Interface และทำงานบนเว็บเพื่อเพิ่มความสะดวกให้กับเรา
sudo apt install pgadmin4 pgadmin4-apache2

ขณะทำการติดตั้งจะมีช่วงที่ให้เรากรอกข้อมูลของ Admin ที่จะใช้งานระบบเราจะต้องกรอก Username และ Password
หน้าจอส่วนการกรอก Username

หน้าจอส่วนการกรอก Password

เมื่อเราทำการติดตั้งเรียบร้อยแล้วให้เราทำการเปิด Web Browser แล้วไปที่ Server ที่เราทำการติดตั้งตามด้วย /pgadmin4

ทำการใส่ข้อมูล Username และ Password เพื่อทำการ Login เข้าใช้งาน

การใช้งานครั้งแรกเราจะต้องทำการเพิ่ม Server Database ก่อนโดยไปที่ Add New Server และกรอกข้อมูลของ PostgreSQL Server

เจอ Error เพิ่ม Server ไม่ได้หลังจากลง PostgreSQL ใหม่

เมื่อเราพบ Error ลักษณะนี้ให้เราลองเปลี่ยนรหัสผ่านของ User ที่เราใช้งานแล้วลองเข้าใหม่อีกครั้ง



Allow Remote Connection

การอนุญาตให้เชื่อต่อ PostgreSQL จากเครื่องอื่น

ไฟล์ที่เราต้องทำการแก้ไขเพื่อให้สามารถใช้เชื่อต่อจากเครื่องอื่นได้จะมี 2 ไฟล์ คือไฟล์ postgresql.conf และไฟล์ pg_hba.conf
ไฟล์ใน PostgreSQL อยู่ที่ Path /etc/postgresql/11/main/

ส่วนของ postgresql.conf ให้เราทำการลบ Comment เพื่อใช้งาน listen_addresses และใส่ ip ที่เราอนุญาตให้ทำการติดต่อเข้าได้
# - Connection Settings -
listen_addresses = '127.0.0.1,10.10.10.20'    # what IP address(es) to listen on;
                                              # comma-separated list of addresses;
                                              # defaults to 'localhost'; use '*' for all
                                              # (change requires restart)

ส่วนไฟล์ pg_hba.conf ก็เพิ่ม ip เช่นกัน

# TYPE  DATABASE       USER           ADDRESS             METHOD
# "local" is for Unix domain socket connections only
local   all            all                                peer
# IPv4 localhost connections:
host    all            all            127.0.0.1/32        md5
host    all            all            10.10.10.20/24      md5
# IPv6 localhost connections:
host    all            all            ::1/128             md5

# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication    all                                peer
host    replication    all            127.0.0.1/32        md5
host    replication    all            ::1/128             md5


เสร็จแล้วให้ทำการ restart postgresql อีกครั้งใช้คำสั่ง systemctl restart postgresql

ไม่มีความคิดเห็น:

แสดงความคิดเห็น