คำถามติดแท็ก bytea


3
ใช้ PostgreSQL 8.4 จะแปลง bytea เป็นค่าข้อความใน postgres ได้อย่างไร?
ในแอปพลิเคชันของฉันฉันใส่ข้อมูลในฐานข้อมูลโดยใช้รหัส C เนื่องจากสตริงที่ฉันได้รับจากแหล่งที่ไม่น่าเชื่อถือฉันได้หนีพวกเขาโดยใช้PQescapeByteaConnไลบรารี libpq ซึ่งทำงานได้ดีอย่างสมบูรณ์เช่นผลลัพธ์ในรูปแบบ Octet String ดูตัวอย่างด้านล่าง สตริงอินพุต: \n\t\f\b\p\k\j\l\mestPrepared สตริงเอาท์พุท: \\012\\011\\014\\010pkjlmestPrepared เอาต์พุตสตริงถูกแทรกในฐานข้อมูล ตอนนี้ฉันดึงข้อมูลจากฐานข้อมูลในรหัส java โดยใช้ JDBC ฉันจะ unescape สตริงกลับไปเป็นค่าเดิมได้อย่างไร ฉันคิดถึงวิธีที่เป็นไปได้สองวิธี เปลี่ยนเคียวรีการดึงฐานข้อมูลและส่งฟิลด์นี้ไปยังฟังก์ชันการจัดการสตริงของ postgres เช่นซึ่งสามารถแปลงไบต์เป็นข้อความ ทำการถอดรหัสในโค้ด Java ฉันเข้าใจว่าวิธีที่ 1 จะมีประสิทธิภาพมากขึ้น ฉันได้ลองฟังก์ชั่นเกือบทั้งหมดที่ระบุไว้ที่นี่แต่ไม่มีอะไรทำงาน กรุณาช่วย!! ฉันใช้ postgres รุ่น 8.4 บนเครื่อง linux

1
ปรับ PostgreSQL ให้เหมาะสมที่สุดสำหรับการปรับปรุง INSERTS และ bytea มากมาย
สิ่งที่เรามี (ซอฟต์แวร์): PostrgeSQL 9.3พร้อมการกำหนดค่าพื้นฐาน (ไม่มีการเปลี่ยนแปลงpostgresql.conf) Windows 7 64 บิต ฮาร์ดแวร์: Intel Core i7-3770 3.9 Ghz RAM 32 Gb WDC WD10EZRX-00L4HBAta ไดรฟ์ (1000Gb, SATA III) ดังนั้นเราต้องโหลดลงใน DB aprox 100.000.000แถวที่มีbyteaคอลัมน์และง่ายขึ้น500.000.000แถว (โดยไม่ LOBs) มี 2 varcharดัชนีในตารางที่ 1 (ความยาว 13, 19) และ 2 varcharดัชนีในตารางที่ 2 (18, 10 ความยาว) นอกจากนี้ยังมีลำดับสำหรับการสร้าง id สำหรับแต่ละตาราง ในตอนนี้การดำเนินการเหล่านี้กำลังทำอยู่กับการเชื่อมต่อ 8 แบบขนานกับขนาดแบตช์ …

1
PostgreSQL bytea กับ smallint []
ฉันต้องการนำเข้าข้อมูลอนุกรมเวลาหลายช่องทางขนาดใหญ่ (100Mb - 1 GB) ลงในฐานข้อมูล PostgreSQL ข้อมูลมาจากไฟล์ฟอร์แมต EDFที่แบ่งข้อมูลเป็น "บันทึก" หรือ "ยุค" ซึ่งโดยทั่วไปแล้วแต่ละวินาที บันทึกยุคของแต่ละคนถือสัญญาณสำหรับแต่ละช่องข้อมูลเป็นอาร์เรย์ลำดับของจำนวนเต็มสั้น ฉันได้รับคำสั่งให้เก็บไฟล์ไว้ในฐานข้อมูลในกรณีเลวร้ายที่สุดในฐานะ BLOB ระบุว่าฉันต้องการตรวจสอบตัวเลือกที่จะช่วยให้ฉันทำอะไรเพิ่มเติมกับข้อมูลในฐานข้อมูลเช่นอำนวยความสะดวกในการค้นหาตามข้อมูลสัญญาณ แผนเริ่มต้นของฉันคือการจัดเก็บข้อมูลเป็นหนึ่งแถวต่อระเบียนยุค สิ่งที่ฉันพยายามชั่งน้ำหนักคือการจัดเก็บข้อมูลสัญญาณจริงตามประเภท bytea หรือ smallint [] (หรือแม้แต่ smallint [] []) ชนิด ใครช่วยแนะนำคนอื่นได้บ้าง ฉันสนใจค่าใช้จ่ายในการจัดเก็บและเข้าถึง การใช้งานมีแนวโน้มที่จะถูกแทรกหนึ่งครั้งอ่านเป็นครั้งคราวไม่เคยอัปเดต หากมีการห่อเป็นประเภทกำหนดเองได้ง่ายขึ้นซึ่งฉันสามารถเพิ่มฟังก์ชั่นสำหรับการวิเคราะห์การเปรียบเทียบบันทึกได้ดีกว่ามาก ไม่ต้องสงสัยเลยว่าฉันมีรายละเอียดน้อยมากดังนั้นอย่าลังเลที่จะเพิ่มความคิดเห็นเกี่ยวกับสิ่งที่คุณต้องการให้ฉันชี้แจง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.