User REVIEW for PostgreSQL

Sometimes we need a database user only for review (read-only) purposes, this user used just for view some data or all data in a database, not for insert, delete and other CRUD activities in a database.

So if you want to create a REVIEW user in PostgreSQL, you have to grant access for SELECT and EXECUTE in a schema or database, and you have to grant access that user into schema itself. These script will help you out to create review user in PostgreSQL :

CREATE USER review WITH PASSWORD 'password_review';

GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO review;
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA schema_name TO review;
GRANT USAGE ON SCHEMA schema_name TO review;

[SOLVED] Problem : Could not connect to server: connection timed out (0x0000274c/10060)

I have a problem when I tried to remote PostgreSQL Server (in Linux Centos) from my PgAdmin Client (in Windows), there’s an error message displayed on screen said “could not connect to server: connection timed out (0x0000274c/10060) is the server running on host and accepting tcp/ip connections on port 5432?”

I checked my firewall status with :
systemctl status firewalld

Condition : Not Normal

It said that my firewall status was Active: failed. From here I’m sure there’s problem with my firewall process, because if the firewall stopped successfully, the status will be inactive like this image below :

Condition : Normal

SOLUTION

After tried many solution, I ended-up with this one :
systemctl unmask firewalld

Next step after run unmask syntax, I tried to restart my firewall and it runs flawlessly :). Hope this thread help you guys.

Web PHP With PostgreSQL Blank / Not Connected In MAC OS X

Berdasarkan pengalaman baru-baru ini mengenai setting koneksi PHP dengan PostgreSQL di MAC OS X. Untuk instalasi PostgreSQL di MAC OS X silahkan baca disini : http://www.studiotips.net/docs/tips_sql/postgresql/installingpostgresqlonmac.html

Setelah selesai konfigurasi PostgreSQL, selanjutnya adalah konfigurasi koneksi PHP (dalam catatan Webserver sudah diinstall sebelumnya, misalkan XAMPP for Mac) dengan PostgreSQL. Saya sendiri sempat kebingungan, Webserver sudah terpasang, PostgreSQL juga sudah terpasang. Database PostgreSQL sudah saya buat, dan lain sebagainya, tapi setelah saya coba membuat contoh kecil aplikasi PHP yang berhubungan dengan PostgreSQL, namun hasilnya adalah muncul pesan error bahkan blank white page. Kalau tidak salah pesan error itu muncul seperti ini : “pg_connect is not function / configured”. Continue reading

Codeigniter dan PostgreSQL

Problem Blank Screen Setting Codeigniter With PostgreSQL

Selamat pagi semuanya, pagi ini aku ingin share pengalaman mengenai instalasi dan setting PHP Codeigniter yang menggunakan PostgreSQL sebagai databasenya. Masalah yang muncul adalah ketika mengakses halaman project kita, misalkan saja http://localhost/ci_postgre, tampilan yang muncul sebuah halaman kosong tanpa error atau apapun.

Sempat browsing disana-sini, menemukan berbagai komentar dan solusi, ada yang mengatakan extension php di PHP.ini pada bagian extension=php_pgsql.dll harus dalam keadaan enable dan sebagainya.
Tapi aku sendiri udah solusi tersebut dengan meng-enable extension di PHP.ini dari :

;extension=php_pdo_pgsql.dll
;extension=php_pgsql.dll

menjadi

extension=php_pdo_pgsql.dll
extension=php_pgsql.dll

Tapi tetap saja belum menyelesaikan masalah, malah ketika aku mengakses alamat project yang tadi, tiba-tiba dilemparkan ke www.localhost.com.

Bingung sudah, tapi aku tidak putus asa terus mencari dan mencoba… akhirnya terdamparlah ke situs forum dewa yaitu stackoverflow.com dan menemukan thread berikut ini : PHP not loading php_pgsql.dll on Windows.

Dan alhamdulillah, akhirnya masalah terselesaikan dengan baik dan lancar alami. Intinya adalah tambahkan 1 baris kode berikut ke dalam file httpd.conf kalian :
LoadFile "C:/Program Files/PostgreSQL/9.2/bin/libpq.dll"
Catatan : Lokasi direktori diatas sesuaik dengan dimana dan versi berapa PostgreSQL yang kalian install.
Oke, semoga berhasil juga untuk kalian semua :), dan sebagai tambahan info berikut ini adalah settingan Codeigniter (CI) saya di file database.php

$db['default']['hostname'] = 'localhost';
$db['default']['username'] = MY_DB_USER;
$db['default']['password'] = MY_DB_PASS;
$db['default']['database'] = MY_DB_APPS;
$db['default']['dbdriver'] = 'postgre';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;
$db['default']['port'] = 5432;

Catatan : Karena PostgreSQL mempunyai PORT yang berbeda, maka tambahkan 1 bari kode lagi di file database.php kepunyaan CI yaitu :
$db['default']['port'] = 5432;