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
Mã nguồn ví dụ
http://www.postgresql.org/docs/8.3/static/libpq-example.html