Bạn vẫn chưa cho chúng tôi thấy bức tranh toàn cảnh, nhưng "lỗi cú pháp" dường như chỉ ra rằng bạn chạy điều đó từ bên trong công cụ máy khách SQL (psql, pgAdmin, ...)
pg_dump
và psql
là dòng lệnh chương trình chứ không phải câu lệnh SQL.
Bạn cần chạy chúng từ dấu nhắc lệnh (còn gọi là trình bao)
Ngoài ra, (db cũ) tham số là hoàn toàn sai. Cơ sở dữ liệu không được đặt trong dấu ngoặc cho pg_dump, ví dụ:
pg_dump -U user1 dbname_old_db | psql -U user2 dbname_new_db
Một lần nữa:bạn phải chạy điều này từ dấu nhắc lệnh, không phải từ bên trong công cụ SQL