ฐานข้อมูล PostgreSQL ใน Ubuntu server

Postgresql เป็น Object-Relational DBMS โดยสามารถใช้รูปแบบของภาษา SQL ได้เกือบทั้งหมด และสามารถใช้ subselects , transactions , user-defined types และ functions ได้ อีกทั้งเป็น Database ซึ่งให้ Source code ฟรี ด้วย

ลักษณะโครงสร้าง

ระบบที่ใช้ PostgreSQL จะติดตั้ง PostgreSQL ไว้ที่เครื่อง Server ซึ่งเป็นที่เก็บ database ด้วย และยังสามารถ ติดตั้ง PostgreSQL ได้มากกว่า 1 ชุดใน Server เครื่องเดียว

ผู้ดูแลระบบ PostgreSQL จะใช้ชื่อว่า postgres ซึ่งเป็นผู้ดูแลทั้ง ตัวโปรแกรม และ database ซึ่งสามารถทำงานกับบางคำสั่งเฉพาะ เพื่อจัดการ database และ ผู้ใช้บริการ (user) ซึ่ง ผู้ดูแลระบบ database (postgres) จะคล้ายการทำงานของ superuser ในระบบ Unix หน้าที่ของ postgres สามารถ สร้างชื่อ user และกำหนดสิทธิและระดับการใช้งานต่างๆได้

PostgreSQL ใช้รูปแบบการทำงาน แบบ Client/Server ซึ่งในการทำงานจะประกอบด้วย 3 process ทำงานร่วมกัน คือ

1. Postmaster เป็น supervisory daemon process ซึ่งจัดการติดต่อระหว่าง Frontend กับ Backend process ในการ allocate share buffer , จัดการค่าเริ่มต้นต่างๆในระหว่างเริ่มทำงาน และเก็บบันทึกการเข้าใช้ระบบและความผิดพลาดต่างๆที่เกิดขึ้น

2. Postgres เป็น backend process เพื่อจัดการ database ถือว่าส่วนนี้เป็น process ที่ทำงานจริงๆ เช่น ทำงานตาม query โดย Postmaster จะสั่งให้สร้าง Backend process สำหรับทุกๆ การเชื่อมต่อกับ Frontend ดังนั้น Postgres นี้จะทำงานที่ server

3. Frontend เป็น application ซึ่งจะทำงานที่เครื่อง client และจะส่งคำสั่งการเชื่อมต่อ หรือคำสั่งต่างๆ มาที่ Postmaster แล้ว Postmaster จึงส่งต่อการทำงานไปที่ Postgres

การติดตั้งใน Linux Ubuntu 11.04 server

$ sudo apt-get update
$ sudo apt-get install postgresql
จากนั้น ก็ทำการ reset admin password (postgres)

$ sudo su postgres -c psql
ใน command prompt ของ psql พิมพ์
postgres=# ALTER USER postgres WITH PASSWORD ‘password’;
postgres=# \q
reset password postgres บน ubuntu
$ sudo passwd -d postgres
$ sudo su postgres -c passwd

แก้ไข postgresql.conf
$ sudo gedit /etc/postgresql/8.4/main/postgresql.conf
แก้ #listen_addresses = ‘localhost’ เป็น listen_addresses = ‘*’
แก้ #password_encryption = on เป็น password_encryption = on

เพิ่ม network ที่สามารถใช้งานที่ pg_hba.conf
$ sudo gedit /etc/postgresql/8.3/main/pg_hba.conf
โดยการเพี่ม
host all all 192.168.1.1/32 md5
ในที่นี้ 192.168.1.1 คือ network ที่อนุญาต

เพิ่มเติมน่ะคับ ถ้าต้องการให้โปรแกรมอื่นๆ สามารถติดต่อฐานข้อมูลนี้ได้

แก้ไข ไฟล์ pg_hba.conf โดยเพิ่มบรรทัดนี้เข้าไป

host all all 0,0,0,0 0,0,0,0 md5
จะสามารถติดต่อผ่านโปรแกรมอื่นๆ ที่เราพัฒนา หรือผ่านเครื่องข่ายอินเทอร์ได้ ผมใช้ vb2010 ทดสอบแล้วผ่านน่ะคับ สามารถติดต่อฐานข้อมูล สร้างตารางได้ คับ แต่ต้องติดตั้ง Npsql ไลบารี่ คับ ใช้เวอร์ชั้น .Net 4.0

restart server
$ sudo /etc/init.d/postgresql-8.4 restart

หรือ reboot ใหม่

การใช้งานต่างสามารถเข้าไปดูใน เว็บไซต์ของ Postgresql ซึ่งมีการเปลี่ยนเวอร์ชั่นใหม่ๆตลอด

ถ้าจะใช้ผ่านเว็ปก็ติดรั้ง phppgadmin  แต่แก้คอนฟิกของ phppgadmin นิดหน่อยตามที่เข้าแนะนำ ก็ใช้ได้คับ

การติดตั้ง phppgadmin

sudo apt-get update

sudo apt-get install phppgadmin

แล้ว กด Y

ก็จะติดตั้งเสร็จคับ เวลาเข้าเว็บก็พิมพ์ http://IPAddress/phppgadmin

IPAddress ไอพีของเครื่อง server น่ะคับ

จบคับผม

  1. ยังไม่มีความเห็น
  1. No trackbacks yet.

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

%d bloggers like this: