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 ของสมาชิกในกลุ่มความปลอดภัย