Amazon RDS - คุณสมบัติ PostgreSQL

PostgreSQL เป็นระบบฐานข้อมูลเชิงวัตถุเชิงสัมพันธ์แบบโอเพนซอร์สที่มีประสิทธิภาพซึ่งได้รับชื่อเสียงอย่างมากในด้านความน่าเชื่อถือความแข็งแกร่งของฟีเจอร์และประสิทธิภาพ AWS RDS รัน PostgreSQL เวอร์ชันต่างๆ สนับสนุนการคืนค่าและการสำรองข้อมูลแบบจุดต่อเวลาการสร้างสแน็ปช็อต DB และเรียกใช้บนสภาพแวดล้อมแบบหลาย AZ

เวอร์ชัน 9.3 ถึง 10.4 เป็นเวอร์ชันหลักที่รองรับในแพลตฟอร์ม RDS หากไม่มีการกล่าวถึงเวอร์ชันระหว่างการสร้าง DB จะมีค่าเริ่มต้นเป็นเวอร์ชันล่าสุด ณ เวลานั้น ด้านล่างนี้คือตัวอย่างวิธีรับเวอร์ชัน DB Engine ที่รองรับทั้งหมดโดยใช้ AWS API ในโปรแกรม python SDK

import boto3
client = boto3.client('rds')
response = client.describe_db_engine_versions(
    DBParameterGroupFamily='',
    DefaultOnly=True,
    Engine='postgres',
    EngineVersion='',
    ListSupportedCharacterSets=False, #True,
)

print(response)

เมื่อเรารันโปรแกรมข้างต้นเราจะได้ผลลัพธ์ดังต่อไปนี้ -

{
   "ResponseMetadata": {
      "RetryAttempts": 0,
      "HTTPStatusCode": 200,
      "RequestId": "c85cd49f-2c16-44b4-9890-cb233651f962",
      "HTTPHeaders": {
         "x-amzn-requestid": "c85cd49f-2c16-44b4-9890-cb233651f962",
         "date": "Fri, 14 Sep 2018 07:31:34 GMT",
         "content-length": "995",
         "content-type": "text/xml"
      }
   },
   "u'DBEngineVersions'": [
      {
         "u'Engine'": "postgres",
         "u'DBParameterGroupFamily'": "postgres10",
         "u'SupportsLogExportsToCloudwatchLogs'": false,
         "u'SupportsReadReplica'": true,
         "u'DBEngineDescription'": "PostgreSQL",
         "u'EngineVersion'": "10.4",
         "u'DBEngineVersionDescription'": "PostgreSQL 10.4-R1",
         "u'ValidUpgradeTarget'": []
      }
   ]
}

ชุมชน PostgreSQL เผยแพร่เวอร์ชันใหม่และส่วนขยายใหม่อย่างต่อเนื่อง คุณสามารถทดลองใช้เวอร์ชันและส่วนขยาย PostgreSQL ใหม่ก่อนที่ Aws RDS จะรองรับอย่างสมบูรณ์ ในการทำเช่นนั้นคุณสามารถสร้างอินสแตนซ์ DB ใหม่ใน Database Preview Environment

อินสแตนซ์ DB ใน Database Preview Environment คล้ายกับอินสแตนซ์ DB ในสภาพแวดล้อมการใช้งานจริง อย่างไรก็ตามโปรดคำนึงถึงปัจจัยสำคัญหลายประการ:

  • อินสแตนซ์ DB ทั้งหมดจะถูกลบ 60 วันหลังจากที่คุณสร้างพร้อมกับการสำรองข้อมูลและสแนปชอต

  • คุณสามารถสร้างอินสแตนซ์ DB ใน Virtual Private Cloud (VPC) โดยใช้บริการ Amazon VPC เท่านั้น

  • คุณสามารถสร้างได้เฉพาะประเภทอินสแตนซ์ M4, T2 และ R4 เท่านั้น สำหรับข้อมูลเพิ่มเติมเกี่ยวกับคลาสอินสแตนซ์ RDS

  • คุณไม่สามารถรับความช่วยเหลือจาก AWS Support ด้วยอินสแตนซ์ DB คุณสามารถโพสต์คำถามของคุณได้ใน RDS Database Preview Environment Forum

  • คุณสามารถใช้ได้เฉพาะ General Purpose SSD และ Provisioned IOPS SSD storage

  • คุณไม่สามารถคัดลอกสแนปชอตของอินสแตนซ์ DB ไปยังสภาพแวดล้อมการใช้งานจริง

  • คุณลักษณะบางอย่างของ Amazon RDS ไม่มีให้ใช้งานในสภาพแวดล้อมการแสดงตัวอย่างดังที่อธิบายไว้ต่อไปนี้

การจำลองแบบลอจิกเป็นวิธีการจำลองออบเจ็กต์ข้อมูลและการเปลี่ยนแปลงโดยยึดตามข้อมูลประจำตัวการจำลองแบบ (โดยปกติจะเป็นคีย์หลัก) การจำลองแบบเชิงตรรกะใช้โมเดลการเผยแพร่และสมัครสมาชิกโดยมีสมาชิกอย่างน้อยหนึ่งรายที่สมัครรับสิ่งตีพิมพ์อย่างน้อยหนึ่งรายการบนโหนดผู้เผยแพร่ ผู้สมัครรับข้อมูลดึงข้อมูลจากสิ่งพิมพ์ที่สมัครรับข้อมูลและอาจเผยแพร่ข้อมูลซ้ำในภายหลังเพื่ออนุญาตการจำลองแบบเรียงซ้อนหรือการกำหนดค่าที่ซับซ้อนมากขึ้น ใช้สำหรับการดำเนินการด้านล่าง

  • การส่งการเปลี่ยนแปลงที่เพิ่มขึ้นในฐานข้อมูลเดียวหรือชุดย่อยของฐานข้อมูลไปยังสมาชิกเมื่อเกิดขึ้น

  • การรวมฐานข้อมูลหลายฐานข้อมูลไว้ในฐานข้อมูลเดียว (ตัวอย่างเช่นเพื่อวัตถุประสงค์ในการวิเคราะห์)

  • การจำลองแบบระหว่าง PostgreSQL เวอร์ชันหลักต่างๆ

  • การจำลองแบบระหว่างอินสแตนซ์ PostgreSQL บนแพลตฟอร์มต่างๆ (เช่น Linux ไปยัง Windows)

  • ให้การเข้าถึงข้อมูลที่จำลองแบบแก่ผู้ใช้กลุ่มต่างๆ

  • การแบ่งปันชุดย่อยของฐานข้อมูลระหว่างหลายฐานข้อมูล

เพื่อเปิดใช้งานการจำลองแบบเชิงตรรกะสำหรับอินสแตนซ์ Amazon RDS สำหรับ PostgreSQL DB

  • บัญชีผู้ใช้ AWS ต้องการบทบาท rds_superuser เพื่อทำการจำลองแบบเชิงตรรกะสำหรับฐานข้อมูล PostgreSQL บน Amazon RDS

  • ตั้งค่าพารามิเตอร์ rds.logical_replication เป็น 1

  • แก้ไขกฎขาเข้าของกลุ่มความปลอดภัยสำหรับอินสแตนซ์ผู้เผยแพร่ (การผลิต) เพื่ออนุญาตให้อินสแตนซ์สมาชิก (แบบจำลอง) เชื่อมต่อ โดยปกติจะทำได้โดยการรวมที่อยู่ IP ของสมาชิกในกลุ่มความปลอดภัย