Contoh Kasus
-
Tidak bisa restore data karena ada error
a. invalid command \N
b. trailing junk after numeric literal at or near
c. syntax error at or near
Sudah mencoba install macam-macam “extension” si PostgreSQL seperti dan mencoba berbagai macam cara tetap saja tidak bisa. Bagaimana cara trace nya?
How To
- Saya menggunakan
psql -U user_database -d database_kamu -f database_restore_file.sql
untuk restore data, utk trace error, gunakan
psql -U user_database -d database_kamu -f database_restore_file.sql 2>&1 | tee restore_trace_log.txt
- Cek file restore_trace_log.txt, ternyata error nya karena permission yang belum lengkap
psql:database_restore_file.sql:31: ERROR: must be owner of schema public
psql:database_restore_file.sql:41: ERROR: permission denied for schema public
psql:database_restore_file.sql:51: ERROR: permission denied for schema public
- Karena permission di PostgreSQL ini lebih “ribet” daripada MySQL, tambahkan dulu beberapa permission
\c database_kamu
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO user_database;
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO user_database;
GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA public TO user_database;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO user_database;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON SEQUENCES TO user_database;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON FUNCTIONS TO user_database;
- Atau biar lebih mudah, kamu bisa restore data menggunakan “Superuser”
CREATE ROLE admin_superuser WITH LOGIN SUPERUSER PASSWORD 'your_password';
\q