4 คะแนน โดย GN⁺ 2023-10-16 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Postgres.js เป็นไคลเอนต์ PostgreSQL สำหรับ Node.js และ Deno ที่มี API เรียบง่าย
  • ไคลเอนต์นี้ใช้ ES6 tagged template strings และรองรับ dynamic query
  • มีการพูดคุยและให้ความช่วยเหลือผ่าน Gitter และสามารถติดตั้งได้ผ่าน npm
  • Postgres.js อนุญาตให้สร้างอินสแตนซ์ฐานข้อมูล SQL และรองรับงานต่าง ๆ เช่น การดึงผู้ใช้ที่มีอายุเกินค่าที่กำหนด การเพิ่มผู้ใช้ และการสร้างคิวรี
  • รองรับทรานแซกชัน การแปลงข้อมูล และการ subscribe แบบเรียลไทม์ พร้อมการรองรับ TCP socket API ของ Cloudflare Workers ในตัว
  • Postgres.js สามารถตั้งค่าให้ปิดการเชื่อมต่อที่ว่างอยู่ หรือการเชื่อมต่อที่มีอยู่นานเกินเวลาที่กำหนดได้โดยอัตโนมัติ
  • รองรับ prepared statements และ custom types และสามารถเชื่อมต่อกับฐานข้อมูลได้โดยไม่ต้องใช้ connection string หรือ options
  • Postgres.js จะดึงข้อมูลประเภท table/array โดยอัตโนมัติเมื่อเชื่อมต่อกับฐานข้อมูลครั้งแรก
  • ข้อความนี้ยกตัวอย่างวิธีใช้ sql.typed.rect() เพื่อแปลงค่าในฐานข้อมูล และวิธีทำ in-process ssh tunneling ไปยังฐานข้อมูล
  • เน้นย้ำความสำคัญของการใช้ sql.end() เพื่อให้แน่ใจว่ามีการ teardown และ cleanup อย่างเหมาะสมเมื่อเซิร์ฟเวอร์รีสตาร์ตก่อนโปรเซสสิ้นสุด
  • ข้อความนี้แนะนำเมธอด reserve ที่ใช้ดึงการเชื่อมต่อออกจากพูล และคืนค่าไคลเอนต์ที่ครอบการเชื่อมต่อเดี่ยวไว้
  • ข้อผิดพลาดจะถูก throw พร้อมคิวรีที่เกี่ยวข้อง และจะไม่ถูก throw ในระดับ global โดยเด็ดขาด อีกทั้งจะแสดงในรูปแบบ Postgres มาตรฐานเสมอ
  • Postgres.js รองรับ TypeScript และมีตัวอย่างวิธีส่งประเภทของรายการแถวสำหรับคิวรี
  • Postgres.js ไม่มีโซลูชัน migration ของตัวเอง แต่มีลิงก์ไปยังบางโมดูลที่รองรับ Postgres.js สำหรับการทำ migration
  • ข้อความนี้ปิดท้ายด้วยคำขอบคุณต่อการมีส่วนร่วมของ @JAForbes, @ACXgit และ Ryan Dahl

1 ความคิดเห็น

 
GN⁺ 2023-10-16
ความคิดเห็นจาก Hacker News
  • ไลบรารี PostgresJs ได้รับความนิยมมากเพราะความกระชับและการไม่มี abstraction ที่ซับซ้อน ซึ่งมีประโยชน์มากสำหรับผู้ที่ชอบทำงานกับ SQL พื้นฐาน
  • ไลบรารีนี้มีความเร็วและประสิทธิภาพยอดเยี่ยม และสามารถจัดการเรคคอร์ดได้หลายหมื่นรายการในคราวเดียว
  • ไลบรารีนี้ถูกนำเสนอใน Hacker News หลายครั้ง สะท้อนให้เห็นถึงความสนใจอย่างต่อเนื่องต่อการพัฒนา
  • ผู้เขียนไลบรารีระบุว่าตอนนี้รองรับ Cloudflare แล้ว
  • ผู้ใช้บางคนมองว่าการไม่มี dependency เป็นจุดที่น่าสนใจ
  • มีการพูดคุยเกี่ยวกับการสร้าง prepared statement อัตโนมัติสำหรับ static query ของไลบรารี ซึ่งดูเป็นแนวทางที่น่าสนใจและมีเอกลักษณ์
  • มีการกล่าวถึงไลบรารีอื่นที่คล้ายกัน เช่น Zapatos และ pgtyped ในฐานะทางเลือก
  • ไลบรารีนี้ได้รับคำชมที่ใช้ tagged template เพื่อ sanitize อินพุตของ SQL query
  • มีความสงสัยเกี่ยวกับไทม์ไลน์การพัฒนาและความเสถียรของไลบรารี โดยเวอร์ชันแรกเปิดตัวในเดือนมกราคม 2020 และเมเจอร์เวอร์ชันล่าสุด (v3.0.0) เปิดตัวในเดือนมีนาคม 2022