การติดตั้ง
PostGreSQL Server และ PhpPgAdmin บน CentOS Linux
เขียนโดย อ.จักรกฤษณ์ แสงแก้ว สาขาสารสนเทศศาสตร์ คณะวิทยาการสารสนเทศ มหาวิทยาลัยมหาสารคาม
เริ่มเขียนบทความ 11.13 (8 ส.ค. 2555)
ระบบจัดการฐานข้อมูล PostgreSQL มีความสามารถสูงกว่า MySQL มาก โดยเฉพาะความเร็วในการ
Query ที่สูงกว่ามาก วันนี้จะนำท่านติดตั้งและใช้งาน PostgreSQL มีใจความสำคัญดังนี้
วัตถุประสงค์
สามารถติดตั้งระบบฐานข้อมูล PostgreSQL ลงในระบบปฏิบัติการ CentOS Linux
ได้
หลักการทำงานของ
PostgreSQL
ระบบฐานข้อมูล PostgreSQL เป็นฐานข้อมูลแบบเชิงวัตถุ และเชิงสัมพันธ์ (Object
Relational Database Management System หรือ ORDBMS) พัฒนาโดยมหาวิทยาลัยแคลิฟอร์เนีย
เบอร์กเลย์ (UC Berkeley) ได้รับทุนสนับสนุนจาก DARPA, Army Research Office
(ARO), National Science Foundation (NSF) และบริษัท ESL เป็นซอฟต์แวร์โอเพ่นซอร์ส
ขั้นตอนการดำเนินการ
ขั้นที่ 1 : Login เข้าสู่คอมพิวเตอร์แม่ข่าย ด้วย SSH Protocol ตัวอย่างนี้ผมใช้โปรแกรม
SecureCRT ท่านอาจใช้โปรแกรม putty ได้เช่นกันครับ

ขั้นที่ 2 : ติดตั้ง PostgreSQL ด้วยคำสั่ง yum install ดังนี้

ขั้นที่ 3 : เริ่มต้นใช้งาน Postgresql ให้ใช้คำสั่งดังนี้
# chkconfig postgresql on
# service postgresql start
ขั้นที่ 4 : เชื่อมต่อกับ Postgresql Server
# su - postgres
ท่านจะเข้าสู่ Shell ของ User postgres สามารถจัดการฐานข้อมูลด้วย Command
Line ได้ที่นี่ สังเกตว่า Shell ของ postgres จะเป็น -bash-3.2$ ดังภาพด้านบน
ขอให้ท่านออกจาก Shell ของ postgres ด้วยการกด Ctrl+d และกลับมาที่ root
prompt
ขั้นที่ 5 : ใช้คำสั่ง psql ใน shell ของ user postgres ดังนี้
$ psql -d mydb 1 -U postgres
ผลลัพธ์ :
Welcome to psql 8.1.9, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
ขั้นที่ 5:
Open TCP port 5432
Finally make sure iptables allows remote access to Postgresql database
server:
Open /etc/sysconfig/iptables file:
# vi /etc/sysconfig/iptables
Append following line before COMMIT line to open port 5432:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432
-j ACCEPT
Save and close the file. Restart the firewall:
# service iptables restart
service postgresql status
การติดตั้ง
PhpPgAdmin เพื่อจัดการฐานข้อมูล PostgreSQL
โปรเจ็ค PhpPgAdmin เป็นซอฟต์แวร์จัดการฐานข้อมูล PostgreSQL เหมือนกับ phpmyadmin
ซึ่งจัดการฐานข้อมูล MySQL ด้วยภาษา PHP ผ่านเว็บบราวเซอร์ ให้ท่านดำเนินการดังนี้
- ดาวน์โหลด phppgadmin ได้ที่เว็บ sourceforge.net
http://downloads.sourceforge.net/project/phppgadmin/phpPgAdmin%20%5Bstable%5D/phpPgAdmin-5.0/phpPgAdmin-5.0.4.zip?r=http%3A%2F%2Fphppgadmin.sourceforge.net%2Fdoku.php%3Fid%3Ddownload&ts=1344400250&use_mirror=cdnetworks-kr-1
ปล. ผมดาวน์โหลดเก็บไว้ที่ /var/www/pg ขอให้ท่านคลายซิปของ phppgadmin ซึ่งดาวน์โหลดจาก
sourceforge.net มาไว้ที่ไดเร็คทอรี่ /var/www/pg
- เปิดบราวเซอร์และเรียกใช้ pg ดังนี้
ปล. ท่านจะพบว่าเราต้องคอมไพล์ php ด้วยอาร์กิวเมนต์ --with-pgsql ครับถึงจะใช้งานได้
การติดตั้ง
postgresql-devel ก่อน Recompile directadmin
ท่านต้องติดตั้ง postgesql-dev ก่อนทำการ recompile ด้วยคำสั่งต่อไปนี้
yum install postgresql-devel

การคอมไพล์
PHP ใน Directadmin ใหม่ เพื่อรองรับการใช้งาน PostgreSQL
ให้ทำตามขั้นตอนต่อไปนี้
1. เข้าไปในไดเร็คทอรี่ directadmin ดังนี้
# cd /usr/local/directadmin/custombuild
2. ท่านจะเห็นว่ามีโฟลเดรอ์ config ในนี้และมี ไดเร็คทอรี่ย่้อยคือ ap1 และ
ap2 และ suphp
ap1 - สำหรับ Apache 1 ทำงานกับ mod_php
ap2 - สำหรับ Apache 2 ทำงานกับ mod_php
suphp - สำหรับ suphp
3. คัดลอกไฟล์ configure ให้ตรงกับเวอร์ชั่น php ที่ใช้งานในระบบของท่าน
ของผมใช้เวอร์ชั่น 5 :
# cd /usr/local/directadmin/custombuild
# mkdir -p custom/ap2/
# cp -p configure/ap2/configure.php5 custom/ap2/
4. แก้ไขไฟล์ /usr/local/directadmin/custombuild/custom/ap2/configure.php5
ด้วยคำสั่ง nano /usr/local/directadmin/custombuild/custom/ap2/configure.php5
เขียนต่อจากบรรทัด
--with-mysql=/usr \
ด้วยคำว่า
--with-pgsql=/var/lib/pgsql \
จากนั้นบันทึกไฟล์
ตัวอย่างการแก้ไขไฟล์ /usr/local/directadmin/custombuild/custom/ap2/configure.php5
ด้วยโปรแกรม nano
5. ทำการรีคอมไพล์ ด้วยคำสั่งต่อไปนี้
# cd /usr/local/directadmin/custombuild
# ./build php n

การตั้งค่า
/var/lib/pgsql/data/postgresql.conf
ให้ลบคอมเมนต์หน้าบรรทัด listen_address = 'localhost' และบรรทัด port =
5432 ออกดังภาพต่อไปนี้
ตรวจสอบการเข้าใช้
phppgadmin
ให้ท่านเปิดบราวเซอร์และพิมพ์ url หมายเลข IP ของแม่ข่ายต่อด้วย /pg ดังนี้

โค๊ด PHP ในการเชื่อมต่อกับ
PostGreSQL
<?php
$password="password";
$con=pg_connect("host=localhost dbname=mydb user=da_admin password=$password");
?>
ปล. ท่านสามารถตรวจสอบรหัสผ่านของ da_admin ได้ที่
สรุปผล
สำหรับวันนี้ได้ศึกษาการติดตั้งและใช้งานระบบจัดการฐานข้อมูล PostgreSQL
และโปรแกรม phppgadmin สำหรับจัดการฐานข้อมูลผ่านเว็บ หวังว่าบทความนี้จะเป็นประโยชน์ต่อท่านทุกท่านที่ได้มีโอกาสเข้ามาเยี่ยมเยียน
กันที่เว็บ thai-learning.org แห่งนี้ ขอความสุขสวัสดี.. มีแด่ท่านทุกท่าน
พบกันใหม่โอกาสต่อไป สำหรับวันนี้สวัสดีครับ
สิ้นสุดบทความ : 13.24 น. (8 ส.ค. 2555)