Update: mình đã gửi solution, nhưng nguyên dân gốc rễ mọi người đọc thêm của 2 bác dưới nhé, cực chi tiết và dễ hiểu.
Chào cả nhà,
Mình đang làm phần backup database bằng pg_dump cho website của mình. Code test chạy thì cũng ổn rồi mà giờ lên docker image thì mình đang gặp vấn đề chưa biết cách xử lý. Cụ thể, mình chọn Debian 10 làm base image, add user flask để chạy ứng dụng.
Lúc này trong image đó mình test khi mình chạy các lệnh postgresql với user root, nó chạy ổn. Nhưng khi qua user flask (user này start app), nó báo lỗi như này:
flask@de9fcd20e37e:/portal$ pg_dump postgresql://postgres:@localhost:5432/postgres -Fc -f ./backup_file_test -v
Error: Invalid data directory for cluster 12 main
Thử lại với user root, nó chạy oke
root@de9fcd20e37e:/portal# pg_dump postgresql://postgres:@localhost:5432/postgres -Fc -f ./backup_file_test -v
pg_dump: last built-in OID is 16383
pg_dump: reading extensions
pg_dump: identifying extension members
pg_dump: reading schemas
pg_dump: reading user-defined tables
pg_dump: reading user-defined functions
pg_dump: reading user-defined types
pg_dump: reading procedural languages
pg_dump: reading user-defined aggregate functions
pg_dump: reading user-defined operators
pg_dump: reading user-defined access methods
pg_dump: reading user-defined operator classes
pg_dump: reading user-defined operator families
pg_dump: reading user-defined text search parsers
pg_dump: reading user-defined text search templates
pg_dump: reading user-defined text search dictionaries
pg_dump: reading user-defined text search configurations
pg_dump: reading user-defined foreign-data wrappers
pg_dump: reading user-defined foreign servers
pg_dump: reading default privileges
pg_dump: reading user-defined collations
pg_dump: reading user-defined conversions
pg_dump: reading type casts
pg_dump: reading transforms
pg_dump: reading table inheritance information
pg_dump: reading event triggers
pg_dump: finding extension tables
pg_dump: finding inheritance relationships
pg_dump: reading column info for interesting tables
pg_dump: finding the columns and types of table "abc"
----
Quá trình dump okie
----
Cầm cái lỗi Error: Invalid data directory for cluster 12 main
đi kiếm trên google, đa số thì bảo là do mình cấu hình cái database sai, nhưng mình thấy user root chạy được nên nghĩ không phải.
Có vẻ như là thiếu quyền hoặc gì đó. Đây là lần đầu mình gặp vấn đề này nên cũng lơ mơ chưa tìm được cách khắc phục nên lên đây hỏi mọi người tìm cách khắc phục. Thiếu thông tin gì mọi người cứ nói nhé mình sẽ cung cấp thêm.
Chân thành cảm ơn cả nhà