คำตอบของ Re jcoby:
bytea เป็นคอลัมน์ "ปกติ" ยังหมายถึงค่าที่อ่านลงในหน่วยความจำอย่างสมบูรณ์เมื่อคุณดึงข้อมูล ในทางตรงกันข้าม Blobs คุณสามารถสตรีมเป็น stdout ได้ ซึ่งช่วยในการลดรอยเท้าหน่วยความจำของเซิร์ฟเวอร์ โดยเฉพาะอย่างยิ่งเมื่อคุณจัดเก็บภาพขนาด 4-6 MPix
ไม่มีปัญหากับการสำรองข้อมูล blobs pg_dump มีตัวเลือก "-b" เพื่อรวมอ็อบเจ็กต์ขนาดใหญ่ไว้ในข้อมูลสำรอง
ดังนั้นฉันชอบใช้ pg_lo_ * คุณอาจเดาได้
คำตอบของ Re Kris Erickson:
ฉันจะพูดตรงกันข้าม :) เมื่อรูปภาพไม่ใช่ข้อมูลเดียวที่คุณจัดเก็บอย่าเก็บไว้ในระบบไฟล์เว้นแต่คุณจะต้องเก็บไว้อย่างแน่นอน เป็นประโยชน์อย่างยิ่งที่จะต้องแน่ใจเสมอเกี่ยวกับความสอดคล้องของข้อมูลของคุณและการมีข้อมูล "เป็นชิ้นเดียว" (ฐานข้อมูล) BTW, PostgreSQL นั้นยอดเยี่ยมในการรักษาความสม่ำเสมอ
อย่างไรก็ตามความจริงความเป็นจริงมักจะต้องการประสิทธิภาพมากเกินไป ;-) และผลักดันให้คุณให้บริการไฟล์ไบนารีจากระบบไฟล์ แต่ถึงอย่างนั้นฉันมักจะใช้ฐานข้อมูลเป็นหน่วยเก็บข้อมูล "หลัก" สำหรับไบนารีโดยมีความสัมพันธ์อื่น ๆ ทั้งหมดเชื่อมโยงกันอย่างสม่ำเสมอในขณะที่ให้กลไกการแคชตามระบบไฟล์บางส่วนเพื่อการเพิ่มประสิทธิภาพ