Lập trình C với thư viện libpq của Postgresql


1. Mục đích

Tại sao phải lập trình C với thư viện libpq.

  • Thực thi nhanh hơn ngôn ngữ thông dịch (scripts)
  • Bảo mật hơn
  • Che dấu được mã nguồn
  • Ứng dụng lập trình CGI

Các hệ thống thường bắt đầu từ PHP nhưng khi lượng truy cập đồng thời tăng lên họ cần có những tiểu xảo (đại xảo) để tối ưu hóa hiệu năng của hệ thống. Biên dịch sang mã máy là một phương pháp cực kì hiệu quả. Hệ thống sẽ không phải nai lưng để dịch các đoạn script mà chỉ cần nạp chương trình vào bộ nhớ là xong.

2. Cài đặt

  • Cài đặt Postgresql bạn có thể tham khảo bài cài đặt postgresql. Trên windows & ubuntu, việc cài đặt diễn ra hết sức dễ dàng nhờ bộ cài (windows) và shell command (yum của Ubuntu)
  • Thiết lập thư viện libpq trong hệ thống. Với Ubuntu việc này cũng hết sức dễ dàng nhờ shell command.
  • Cập nhật phiên bản thông dich cc, gcc.

3. Lập trình với thư viên libpq

1. Đóng mở các kết nối tới postgresql server

2. Truy vấn, tương tác cơ sở dữ liệu

4. Dịch chương trình thành mã máy

Bạn có thể tham khảo tại http://www.postgresql.org/docs/8.1/static/libpq-build.html

Tuy nhiên, một lưu ý với bạn. Đó là bạn phải chỉ ra các thư viện nằm ở đâu khi dịch. Mỗi hệ điều hành nó được mặc định đặt ở một vị trí khác nhau. Bao gồm:

* Nơi để file libpq-fe.h (khi dịch ra file object)

Shell command

cc -c -I/usr/local/pgsql/include testprog.c

Phần chữ in đậm, bạn phải chỉ đến nới có chứa file libpq-fe.h.

Trên Ubuntu với phiên bản postgresql 8. thì thư mục đó là /usr/include/postgresql

* Nơi để file lpq (khi liên kết các module với libpq)

Shell command

cc -o testprog testprog1.o testprog2.o -L/usr/local/pgsql/lib -lpq

Phần in đậm, bạn phải chỉ đúng nơi có chứa file thực thi lpq

Trên Ubuntu với phiên bản postgres 8. thì thư mục đó là /usr/lib

5. Nguồn tham khảo

Libpq APIs

http://www.postgresql.org/docs/8.1/static/libpq.html

Mã nguồn ví dụ

http://www.postgresql.org/docs/8.3/static/libpq-example.html

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s