You are on page 1of 25

ติดตัง้ PostgreSQL

เราจะติดตัง้ PostgreSQL เวอร์ชัน 14.1 บน Windows 10


มี 3 ขัน
้ ตอนในการติดตัง้ PostgreSQL ให้เสร็จสมบูรณ์:
1.ดาวน์โหลดตัวติดตัง้ PostgreSQL สำหรับ Windows
2. ติดตัง้ PostgreSQL
3. ตรวจสอบการติดตัง้

1.ดาวน์โหลดตัวติดตัง้ PostgreSQL สำหรับ Windows


สามารถดาวน์โหลดและติดตัง้ โปรแกรมที่
: https://www.enterprisedb.com/downloads/postgres-
postgresql-downloads 
ประการที่ 2 คลิกลิงก์ดาวน์โหลดดังที่แสดงด้านล่าง:

การดาวน์โหลดจะใช้เวลาสักครู่
2. ติดตัง้ PostgreSQL
โดยในการติดตัง้ PostgreSQL บน Windows คุณต้องมีสิทธิข์ องผู้ดูแล
ระบบ

ขัน
้ ตอนที่ 1. ดับเบิลคลิกที่ไฟล์ตัวติดตัง้ วิซาร์ดการติดตัง้ จะปรากฏขึน

และแนะนำคุณผ่านหลายขัน
้ ตอน ซึ่งคุณสามารถเลือกตัวเลือกต่างๆ ที่
คุณต้องการให้มีใน PostgreSQL

ขัน
้ ตอนที่ 2. คลิกปุ ่ม Next

ขัน
้ ตอนที่ 3 ระบุโฟลเดอร์การติดตัง้ เลือกของคุณเองหรือเก็บโฟลเดอร์
เริ่มต้นที่แนะนำโดยโปรแกรมติดตัง้ PostgreSQL แล้วคลิกปุ ่ม Next
ขัน
้ ตอนที่ 4 เลือกส่วนประกอบซอฟต์แวร์ที่จะติดตัง้ :

 เซิร์ฟเวอร์ PostgreSQL เพื่อติดตัง้ เซิร์ฟเวอร์ฐานข้อมูล


PostgreSQL
 pgAdmin 4 เพื่อติดตัง้ เครื่องมือจัดการ GUI ฐานข้อมูล
PostgreSQL
 เครื่องมือบรรทัดคำสั่งสำหรับติดตัง้ เครื่องมือบรรทัดคำสั่ง เช่น
psql, pg_restore เป็ นต้น เครื่องมือเหล่านีช
้ ่วยให้คุณโต้ตอบกับ
เซิร์ฟเวอร์ฐานข้อมูล PostgreSQL โดยใช้อินเทอร์เฟซบรรทัดคำสั่ง
 Stack Builder มี GUI ที่ให้คุณดาวน์โหลดและติดตัง้ ไดรเวอร์ที่ใช้
งานได้กับ PostgreSQL
สำหรับบทความบนเว็บไซต์นี ้ คุณไม่จำเป็ นต้องติดตัง้ Stack
Builder ดังนัน
้ อย่าลังเลที่จะยกเลิกการเลือกและคลิกปุ ่ม Next
เพื่อเลือกไดเร็กทอรีข้อมูล:
ขัน
้ ตอนที่ 5. เลือกไดเร็กทอรีฐานข้อมูลเพื่อเก็บข้อมูลหรือยอมรับ
โฟลเดอร์เริ่มต้น และคลิกปุ ่ม Next เพื่อไปยังขัน
้ ตอนถัดไป:

ขัน
้ ตอนที่ 6 ป้ อนรหัสผ่านสำหรับ superuser ฐานข้อมูล (postgres)
ขัน
้ ตอนที่ 7 ป้ อนหมายเลขพอร์ตที่เซิร์ฟเวอร์ฐานข้อมูล PostgreSQL จะ
รับฟั ง พอร์ตเริ่มต้นของ PostgreSQL ในบทความคือ 54321 คุณต้อง
ตรวจสอบให้แน่ใจว่าไม่มีแอปพลิเคชันอื่นกำลังใช้พอร์ตนี ้

ขัน
้ ตอนที่ 8 วิซาร์ดการตัง้ ค่าจะแสดงข้อมูลสรุปของ PostgreSQL คุณ
ต้องตรวจสอบและคลิกปุ ่ม Next หากทุกอย่างถูกต้อง มิฉะนัน
้ คุณต้อง
คลิกปุ ่มย้อนกลับเพื่อเปลี่ยนการกำหนดค่าตามนัน

ตอนนี ้ คุณพร้อมที่จะติดตัง้ PostgreSQL บนคอมพิวเตอร์ของคุณแล้ว
คลิกปุ ่มถัดไปเพื่อเริ่มการติดตัง้ PostgreSQL

การติดตัง้ อาจใช้เวลาสักครู่จึงจะเสร็จสมบูรณ์
ขัน
้ ตอนที่ 9. คลิกปุ ่ม Finish เพื่อสิน
้ สุดการติดตัง้ PostgreSQL
3. ตรวจสอบการติดตัง้
มีหลายวิธีในการตรวจสอบการติดตัง้ PostgreSQL คุณสามารถลองเชื่อม
ต่อกับเซิร์ฟเวอร์ฐานข้อมูล PostgreSQL จากแอปพลิเคชันไคลเอนต์ใด
ก็ได้ เช่น psql และ pgAdmin
วิธีที่รวดเร็วในการตรวจสอบการติดตัง้ คือผ่านโปรแกรม psql
ขัน
้ แรก ให้คลิกแอปพลิเคชัน psql เพื่อเปิ ดใช้งาน โปรแกรมบรรทัดคำสั่ง
psql จะปรากฏขึน

ประการที่ 2 ป้ อนข้อมูลที่จำเป็ นทัง้ หมด เช่น เซิร์ฟเวอร์ ฐานข้อมูล
พอร์ต ชื่อผู้ใช้ และรหัสผ่าน หากต้องการยอมรับค่าเริ่มต้น คุณสามารถ
กด Enter ไปเรื่อยๆ แล้วระบุรหัสผ่านที่คณ
ุ ป้ อนระหว่างการติดตัง้
PostgreSQL ในบทความนี ้ คือ lungmaker
ประการที่ 3 เขียนคำสั่ง SELECT version(); คุณจะเห็นผลลัพธ์ต่อไปนี:้
ขอแสดงความยินดี! คุณได้ติดตัง้ เซิร์ฟเวอร์ฐานข้อมูล PostgreSQL บน
คอมพิวเตอร์ของคุณเรียบร้อยแล้ว
การ Remote เข้ามาใช้งาน PostgreSQL บนคลาวด์
การเชื่อมต่อกับฐานข้อมูลโดยใช้ Desktop Client หรือ Web
Client เราใช้ pgAdmin4 ซึ่งเป็ นแพลตฟอร์มการบริหารและการพัฒนา
โอเพนซอร์สที่ได้รับความนิยมมากที่สุด และมีคณ
ุ ลักษณะหลากหลาย
สำหรับ PostgreSQL สามารถดาวน์โหลด
ได้ที่  https://www.pgadmin.org/download/ หรือถ้าคุณต้องการใช้
งานผ่าน Web client คุณสามารถติดตัง้ เพิ่มเติมได้เอง ด้วยการติดตัง้  
pgAdmin (yaml manifest) ผ่านช่องทาง import environment ได้ (
วิธีการ import )
1. หากคุณมี database cluster จะมีความสะดวกมากกว่าในการจัดการ
กลุ่มของเซิร์ฟเวอร์ทงั ้ หมดที่อยู่ใน cluster

2. จากนัน
้ ป้ อนชื่อกลุ่ม เช่น Remote Postgres
3. หลังจากนัน
้ ให้เพิ่มเซิร์ฟเวอร์ฐานข้อมูลทัง้ หมดในกลุ่มทีละรายการ มา
ดูว่าจะมีวิธีทำสำหรับ ฐานข้อมูลหลักได้อย่างไร คลิกขวาที่กลุ่ม (เช่น
remotepostgres) แล้วเลือก Create > Server.
4. ป้ อนชื่อเซิร์ฟเวอร์ (เช่น Master สำหรับฐานข้อมูลหลักของ cluster
ของคุณ) ที่แท็บ General

5. ในขัน
้ ตอนนีค
้ ุณต้องระบุการตัง้ ค่าการเข้าถึงเซิร์ฟเวอร์ขน
ึ ้ อยู่กับว่าคุณ
สร้างฐานข้อมูลโดยมี หรือไม่มี public IP ตามที่อธิบายไว้ข้างต้น

การเชื่อมผ่าน Public IP
ไปที่แท็บ Connection และป้ อน public IP ของฐานข้อมูลหลักของคุณ
ที่ฟิลด์  Host name/address ระบุ Username และ Password ที่คุณ
ได้รับในขณะสร้าง Environment ฐานข้อมูลทางอีเมล
การเชื่อมต่อผ่าน Endpoints
ใช้ URL และ Public Port จากการแมปพอร์ตที่สร้างขึน
้ และตัง้ ค่าการ
เชื่อมต่อเซิร์ฟเวอร์ฐานข้อมูล ชื่อผู้ใช้และรหัสผ่านเหมือนกับที่อธิบายไว้
ข้างต้น

คุณอาจเปลี่ยนตัวเลือกเฉพาะอื่น ๆ ได้หากคุณค่อนข้างมั่นใจในการกระ
ทำการนัน
้ ๆ สุดท้ายกด Save เพื่อการเปลี่ยนแปลงและคุณจะเห็น
ว่าการเชื่อมต่อถูกสร้างขึน
้ สำเร็จ
สำหรับตัวอย่างของเราทัง้ ฐานข้อมูล master และฐานข้อมูล slave จะ
แสดงดังต่อไปนี ้
ตอนนีส
้ ามารถใช้งาน PostgreSQL บนคลาวด์ผ่านการ Remote ได้แล้ว
เชื่อมโค้ด กับ PyCharm อย่าลืม
RUN ใน Pg
_____________________________________________________
_____________________________________________________
________________________
-- Function Random between(real, real)
CREATE OR REPLACE FUNCTION random_between(real, real)
RETURNS real AS $$
DECLARE
start_int ALIAS FOR $1;
end_int ALIAS FOR $2;
BEGIN
RETURN random()*(end_int-start_int)+start_int;
END;
$$ LANGUAGE 'plpgsql' STRICT;

/*
random() = real < 1
end_int-start_int = distance
(end_int-start_int)+start_int = between start and end
*/
_____________________________________________________
_____________________________________________________
________________________
SQL fucntion dumpp
CREATE OR REPLACE FUNCTION dump(IN p_schema text, IN
p_table text, IN p_where text)
RETURNS setof text AS
$BODY$
DECLARE
dumpquery_0 text;
dumpquery_1 text;
selquery text;
selvalue text;
valrec record;
colrec record;
BEGIN

-- ------ --
-- GLOBAL --
-- build base INSERT
-- build SELECT array[ ... ]
dumpquery_0 := 'INSERT INTO ' || quote_ident(p_schema)
|| '.' || quote_ident(p_table) || '(';
selquery := 'SELECT array[';

<<label0>>
FOR colrec IN SELECT table_schema, table_name,
column_name, data_type
FROM information_schema.columns
WHERE table_name = p_table and
table_schema = p_schema
ORDER BY ordinal_position
LOOP
dumpquery_0 := dumpquery_0 ||
quote_ident(colrec.column_name) || ',';
selquery := selquery || 'CAST(' ||
quote_ident(colrec.column_name) || ' AS TEXT),';
END LOOP label0;

dumpquery_0 :=
substring(dumpquery_0 ,1,length(dumpquery_0)-1) || ')';
dumpquery_0 := dumpquery_0 || ' VALUES (';
selquery := substring(selquery ,1,length(selquery)-1)
|| '] AS MYARRAY';
selquery := selquery || ' FROM ' ||
quote_ident(p_schema)||'.'||quote_ident(p_table);
selquery := selquery || ' WHERE '||p_where;
-- GLOBAL --
-- ------ --

-- ----------- --
-- SELECT LOOP --
-- execute SELECT built and loop on each row
<<label1>>
FOR valrec IN EXECUTE selquery
LOOP
dumpquery_1 := '';
IF not found THEN
EXIT ;
END IF;

-- ----------- --
-- LOOP ARRAY (EACH FIELDS) --
<<label2>>
FOREACH selvalue in ARRAY valrec.MYARRAY
LOOP
IF selvalue IS NULL
THEN selvalue := 'NULL';
ELSE selvalue := quote_literal(selvalue);
END IF;
dumpquery_1 := dumpquery_1 || selvalue || ',';
END LOOP label2;
dumpquery_1 :=
substring(dumpquery_1 ,1,length(dumpquery_1)-1) || ');';
-- LOOP ARRAY (EACH FIELD) --
-- ----------- --

-- debug: RETURN NEXT dumpquery_0 || dumpquery_1


|| ' --' || selquery;
-- debug: RETURN NEXT selquery;
RETURN NEXT dumpquery_0 || dumpquery_1;

END LOOP label1 ;


-- SELECT LOOP --
-- ----------- --

RETURN ;
END
$BODY$
LANGUAGE plpgsql VOLATILE;

เชื่อมโค้ด กับ PyCharm อย่าลืม


ติดตัง้ PostGIS
1. เปิ ด PgAdmin
2. คลิกถัง Database
3. คลิกขวา Extensions  Create PostgisSave

You might also like