มาเขียนกันลืมอีกแล้ว ต่อเลยน่ะครับ เดี๋ยวหมดรมณ์ เขียนซะก่อน... อิๆๆ

      อืม ถึงไหนแล้ว อืม...................

      อ้อ เมื่อเราทำการลง PostgreSQL ในเครื่องเราเสร็จแล้ว และเขียนโปรแกรมภาษาอะไรก็ตามติดต่อกับฐานข้อมูล PostgreSQLได้แล้ว จะสังเกตได้ว่าเวลา access ไปที่ตัวเครื่องที่เก็บฐานข้อมูล เราจ access ได้เฉพาะที่เป็นเครื่องของเรา หรือ localhost เท่านั้น บางคนอาจอยากทำ PostgreSQL ให้เป็นโปรแกรมบนเซิฟเวอร์และให้เครื่องลูกอืนๆ ในระบบหรือที่อยู่นอกระบบสามารถเข้ามาใช้ฐานข้อมูลที่มีร่วมกันได้ แต่เวลาทำการ access ผ่านโปรแกรม pgadmin ทีไรก็จะฟ้อง error ออกมาตลอดว่า

postgresql_server

ซึ่งสาเหตุหลักก็มาจาก ไฟล์คอนฟิกของ PostgreSQL ที่ถูกดีฟอลท์มาให้ไปทำการอ่านค่าเฉพะที่เป็น ip ของ localhost เท่านั้น ซึ่งวิธีการแก้ไขก็ง่ายๆ คือ ให้ไปทำการแก้ไขไฟล์คอนฟิกให้ถูกต้องนั่นเอง

 โดยการเข้าไปยังโปรแกรม terminal ผ่าน super user(root) นั่นเอง

       ----># sudo gedit /etc/postgresql/8.3/main/postgresql.conf

หรือ ----># sudo nana /etc/postgresql/8.3/main/postgresql.conf ก็ได้

     ถ้าใช้อย่างแรกจะได้ไฟล์ออกมาหน้าตาเป็นแบบนี้คือpostgresql


    ให้เรามองหา บรรทัดที่เขียนว่า

    listen_addresses = 'localhost'            # what IP address(es) to listen on;

    และเปลี่ยนจาก localhost เป็น เครื่องหมาย * แทน และทำการเซฟเก็บเอาไว้ก็เป็นอันเสร็จ

    อีกไฟล์หนึ่งที่ต้องเข้าไปแก้ไขคือ ไฟล์ที่มีชื่อว่า pg_hba.conf     

    ----># sudo gedit /etc/postgresql/8.3/main/pg_hba.conf

    pg_hba.cof

   ให้มองหาตรงที่จะทำการกำหนดวงของ ip เครื่องที่จะสามารถเข้ามาใช้งาน PostgreSQL ที่เครื่องนี้ได้

   # "local" is for Unix domain socket connections only
   local   all        all                               ident sameuser
   # IPv4 local connections:
   host     all       all         127.0.0.1/32       md5
   # IPv6 local connections:
   host    all        all         ::1/128               md5

   สังเกตว่า ตรง IPv4 จะเป็นตัวกำหนดความกว้างของ ip ในเน็ตเวิร์กว่าเป็นเท่าไหร่ ในภาพคือ เป็น ip ของ localhost เท่านั้น ให้เปลี่ยนเป็นการใช้งานในวงแลนขององค์กร โดยเปลี่่ยนจาก 127.0.0.1/32 เป็น 192.168.0.0/24 หรือว่าหากต้องการเพิ่มความกว้างของ ip ก็สามารถกำหนดได้ตามใจชอบ

   ส่วนผมนั้นผมจะเปลี่ยนไปเป็น 0.0.0.0/0 ไว้เลย ไม่ว่าไอพีส่วนไหนจากเครื่องไหนๆ ของโลกก็สามารถเข้ามาที่เครื่องนี้ได้เลย แต่การกำหนดแบบนี้อาจทำให้เกิดความเสียหายต่อข้อมูลของเราได้ จึงต้องระวังและมีการป้องกันที่ดีด้วย