13 คะแนน โดย xguru 2021-11-10 | 4 ความคิดเห็น | แชร์ทาง WhatsApp
  • วิธีรู้จำนวนแถวที่ถูกแก้ไข/เพิ่มเมื่อใช้ Insert on Conflict (Upsert): xmax

  • การกำหนดสิทธิ์ให้กับคอลัมน์เฉพาะ

  • การจับคู่หลายแพตเทิร์น: SIMILAR TO หรือ regex ~

  • ดูค่าซีเควนซ์ปัจจุบันโดยไม่เพิ่มค่า: pg_sequence_last_value()

  • หากต้องการใช้ SQL หลายบรรทัดร่วมกับ \\COPY: ใช้ TEMPORARY VIEW หรือใช้ COPY กับ \\g

  • ป้องกันการกำหนดค่าให้คีย์ที่สร้างอัตโนมัติ: ระบุ GENERATED ALWAYS ตอนสร้างตาราง (แทน GENERATED BY DEFAULT)

  • การสร้างตาราง Pivot: ใช้ pandas.pivot_table, \\crosstabview หรือส่วนขยาย tablefunc

  • Dollar Quoting

→ อักขระทั้งหมดระหว่าง $$ กับ $$ จะถูกมองเป็นสตริง

→ สามารถใช้แท็กด้านในได้ เช่น $JSON$ / $function$

→ หากเติม ::jsonb ต่อท้าย จะสร้างอ็อบเจ็กต์ jsonb ได้อย่างรวดเร็ว

  • การใส่คอมเมนต์ให้กับอ็อบเจ็กต์ใน DB: COMMENT ON TABLE/COLUMN และยังใช้ Dollar Quoting เพื่อเพิ่มคำอธิบายสตริงยาว ๆ ได้

→ เขียน: COMMENT ON TABLE sale IS 'Sales made in the system';

→ ดู: \\d+ sale

  • บันทึก History แยกตามแต่ละ DB

\\set HISTFILE ~/.psql_history- :DBNAME

  • ทำให้การเติมคำอัตโนมัติเป็นตัวพิมพ์ใหญ่: \\set COMP_KEYWORD_CASE upper

  • สั่งหน่วงเวลา: pg_sleep(วินาที), pg_sleep_for('4 minutes 14 seconds')

  • ดึงแถวแรก/แถวสุดท้ายของแต่ละกลุ่มโดยไม่ต้องใช้ซับคิวรี: DISTINCT ON (คอลัมน์กลุ่ม)

  • สร้าง UUID โดยไม่ต้องใช้ส่วนขยาย uuid-ossp: gen_random_uuid() สร้าง version 4 UUID

  • สร้างข้อมูลสุ่มที่ทำซ้ำได้: ใช้ setseed() เพื่อให้ seed เหมือนกัน

  • เพิ่มเงื่อนไขโดยยังไม่ตรวจสอบข้อมูลเดิมทันที: ตอน ALTER ให้เพิ่มเฉพาะเงื่อนไขก่อนด้วย NOT VALID แล้วค่อยตรวจสอบข้อมูลเดิมแยกต่างหากด้วย ALTER VALIDATE

  • ใช้งานฟีเจอร์คล้าย Synonym ของ Oracle: เปลี่ยน search_path (มีประโยชน์สำหรับ Zero Downtime Migration)

  • ค้นหา Range ที่ทับซ้อนกัน: ตัวดำเนินการ OVERLAPS

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

 
galadbran 2021-11-11

ใน GeekNews มีแต่ข่าว postgres ขึ้นมาเยอะเกินไปรึเปล่าครับ! (ล้อเล่นนะครับ.)

ผลิตภัณฑ์ของพวกเราก็ใช้ pg เป็นหลักเหมือนกัน จึงมีแต่ต้องขอบคุณครับ. :)

 
xguru 2021-11-11

ช่วงนี้ postgres กำลังมาแรงไงล่ะ..!?

 
nallwhy 2021-11-10

postgres ดีที่สุด

 
roxie 2021-11-10

เห็นด้วยครับ