Bài này tôi hướng dẫn cách cài đặt Postgresql trên Mac để lập trình PHP Phalcon. Để lập trình PHP Phalcol trên Mac, chúng ta cần phải cài một hay nhiều các cơ sở dữ liệu như: MariaDB (thay thế cho MySQL), MongoDB và Postgresql.

Đối với những ứng dụng web không cần lưu, xử lý dữ liệu quan hệ phức tạp, quan hệ dữ liệu là quan hệ thì MariaDB là lựa chọn tốt nhất.
 
Đối với ứng dụng có dữ liệu quan hệ, có thể phải lập trình store procedure, trigger… trong tương lai, Postgresql lại chiếm ưu thế hơn.
 
Còn đối với dữ liệu dạng document, phi quan hệ, mỗi document lại có số lượng, kiểu trường có thể khác nhau, MongoDB lại lựa chọn khó từ chối.
 
Tham khảo thêm bài viết “PostgreSQL has long been a great database, yet strangely ignored. Now it’s rising in popularity. Why?” – “PostgreSQL luôn là một CSDL tuyệt vời, bị bỏ qua một cách bất thường. Giờ nó đang trở nên rất phổ biến. Tại sao?”
 

Các bước cài đặt

brew info postgresql  #Lấy thông tin về postgresql.
brew install postgresql #cài đặt
initdb /usr/local/var/postgres -E utf8    #cài xong thì gõ lệnh này

Bật / tắt Postgresql server

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start #khởi động
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log stop #tắt
pg_ctl -D -m fast /usr/local/var/postgres -l /usr/local/var/postgres/server.log stop #tắt nhanh
createdb audiogara
psql audiogara
psql (9.3.2)
Type "help" for help.

audiogara=# create table users(id serial, name varchar(25));
CREATE TABLE
audiogara=#  insert into users(name) values('eric');
INSERT 0 1
audiogara=# select * from users;
 id | name 
----+------
  1 | eric
(1 row)
audiogara=# create user administrator with password '123456';
CREATE ROLE
audiogara=# select rolname from pg_roles;
  rolname   
------------
 TechMaster
 administrator
(2 rows)

Các công cụ quản lý, lập trình Postgresql

1- PGAdmin

Vào đây để tải về công cụ PGAdmin http://www.pgadmin.org/

Tạo kết nối đến local Postgresql, sử dụng chính user hiện thời đang login vào Mac.

Không nên sử dụng user Mac để kết nối vào Postgresql, bởi vì userID và password sẽ được lưu trong file cấu hình PHP do đó cần tạo một role mới.

cài đặt pgAdmin để lập trình php

Công cụ quản lý Postgresql

2- Navicat Premium, chức năng tương tự như PGAdmin
3- Visual Paradigm standard edition trở lên, thiết kế quan hệ bảng, tự động tạo cấu trúc trong Postgresql hoặc dịch ngược lại