PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Nhà cung cấp dịch vụ đám mây Deep-Dive:PostgreSQL trên Microsoft Azure

Nếu bạn đã theo dõi Microsoft gần đây, sẽ không có gì ngạc nhiên khi nhà cung cấp sản phẩm cơ sở dữ liệu cạnh tranh, cụ thể là SQL Server, cũng nhảy vào vòng đua PostgreSQL. Từ việc phát hành 60.000 bằng sáng chế cho OIN đến việc trở thành nhà tài trợ Bạch kim tại PGCon, Microsoft với tư cách là một trong những tổ chức hỗ trợ công ty PostgreSQL. Tận dụng mọi cơ hội để chứng tỏ rằng bạn không chỉ có thể chạy PostgreSQL trên Microsoft, mà ngược lại là sự thật:Microsoft, thông qua dịch vụ đám mây của mình, có thể chạy PostgreSQL cho bạn. Tuyên bố càng trở nên rõ ràng hơn với việc mua lại Citus Data và phát hành sản phẩm chủ lực của họ trong Azure Cloud dưới tên Hyperscale. Có thể nói rằng việc áp dụng PostgreSQL đang ngày càng phát triển và giờ đây thậm chí còn có nhiều lý do chính đáng để chọn nó.

Hành trình của tôi qua đám mây Azure bắt đầu ngay tại trang đích nơi tôi gặp gỡ các đối thủ:Máy chủ đơn và bản xem trước (nói cách khác là không có SLA cung cấp) bản phát hành Hyperscale (Citus). Blog này sẽ tập trung vào cái trước. Trong hành trình này, tôi đã có cơ hội để thực hành nguồn mở là gì - mang lại lợi ích cho cộng đồng - trong trường hợp này, bằng cách cung cấp phản hồi cho tài liệu mà theo công nhận của Microsoft, họ thực hiện điều này rất dễ dàng bằng cách chuyển thông tin phản hồi thẳng vào Github:

Khả năng tương thích của PostgreSQL với Azure

Phiên bản

Theo tài liệu sản phẩm Máy chủ đơn nhắm mục tiêu các phiên bản PostgreSQL trong phạm vi chính n-2:

Là một giải pháp được xây dựng cho hiệu suất Máy chủ đơn được khuyến nghị cho các tập dữ liệu 100 GB và lớn hơn. Các máy chủ cung cấp hiệu suất có thể dự đoán được - các phiên bản cơ sở dữ liệu đi kèm với số lượng vCores và IOPS được xác định trước (dựa trên kích thước của bộ nhớ được cung cấp).

Tiện ích mở rộng

Có một số lượng lớn các Tiện ích mở rộng được Hỗ trợ với một số trong số chúng được cài đặt sẵn:

[email protected]:5432 postgres> select name, default_version, installed_version from pg_available_extensions where name !~ '^postgis' order by name;

            name             | default_version | installed_version

------------------------------+-----------------+-------------------

address_standardizer         | 2.4.3 |

address_standardizer_data_us | 2.4.3           |

btree_gin                    | 1.2 |

btree_gist                   | 1.5 |

chkpass                      | 1.0 |

citext                       | 1.4 |

cube                         | 1.2 |

dblink                       | 1.2 |

dict_int                     | 1.0 |

earthdistance                | 1.1 |

fuzzystrmatch                | 1.1 |

hstore                       | 1.4 |

hypopg                       | 1.1.1 |

intarray                     | 1.2 |

isn                          | 1.1 |

ltree                        | 1.1 |

orafce                       | 3.7 |

pg_buffercache               | 1.3 | 1.3

pg_partman                   | 2.6.3 |

pg_prewarm                   | 1.1 |

pg_qs                        | 1.1 |

pg_stat_statements           | 1.6 | 1.6

pg_trgm                      | 1.3 |

pg_wait_sampling             | 1.1 |

pgcrypto                     | 1.3 |

pgrouting                    | 2.5.2 |

pgrowlocks                   | 1.2 |

pgstattuple                  | 1.5 |

plpgsql                      | 1.0 | 1.0

plv8                         | 2.1.0 |

postgres_fdw                 | 1.0 |

tablefunc                    | 1.0 |

timescaledb                  | 1.1.1 |

unaccent                     | 1.1 |

uuid-ossp                    | 1.1 |

(35 rows)

Giám sát PostgreSQL trên Azure

Giám sát máy chủ dựa trên một tập hợp các chỉ số có thể được nhóm lại gọn gàng để tạo trang tổng quan tùy chỉnh:

Những người quen thuộc với Graphviz hoặc Blockdiag có thể sẽ đánh giá cao tùy chọn xuất toàn bộ trang tổng quan vào một tệp JSON:

Hơn nữa, các chỉ số có thể - và chúng phải - được liên kết với các cảnh báo:

Thống kê truy vấn có thể được theo dõi bằng Cửa hàng truy vấn và được hiển thị bằng Hiệu suất truy vấn Cái nhìn sâu sắc. Vì vậy, một vài thông số cụ thể của Azure sẽ cần được bật:

[email protected]:5432 postgres> select * from pg_settings where name ~ 'pgms_wait_sampling.query_capture_mode|pg_qs.query_capture_mode';

-[ RECORD 1 ]---+------------------------------------------------------------------------------------------------------------------

name            | pg_qs.query_capture_mode

setting         | top

unit            |

category        | Customized Options

short_desc      | Selects which statements are tracked by pg_qs. Need to reload the config to make change take effect.

extra_desc      |

context         | superuser

vartype         | enum

source          | configuration file

min_val         |

max_val         |

enumvals        | {none,top,all}

boot_val        | none

reset_val       | top

sourcefile      |

sourceline      |

pending_restart | f

-[ RECORD 2 ]---+------------------------------------------------------------------------------------------------------------------

name            | pgms_wait_sampling.query_capture_mode

setting         | all

unit            |

category        | Customized Options

short_desc      | Selects types of wait events are tracked by this extension. Need to reload the config to make change take effect.

extra_desc      |

context         | superuser

vartype         | enum

source          | configuration file

min_val         |

max_val         |

enumvals        | {none,all}

boot_val        | none

reset_val       | all

sourcefile      |

sourceline      |

pending_restart | f

Để hình dung các truy vấn chậm và chờ đợi, chúng tôi tiến tới tiện ích Hiệu suất Truy vấn:

Truy vấn chạy dài

Chờ Thống kê

Đăng nhập PostgreSQL trên Azure

Có thể tải xuống các bản ghi PostgreSQL chuẩn hoặc xuất sang Log Analytics để phân tích cú pháp nâng cao hơn:

Hiệu suất và mở rộng PostgreSQL với Azure

Mặc dù có thể dễ dàng tăng hoặc giảm số lượng vCores, nhưng hành động này sẽ kích hoạt khởi động lại máy chủ:

Để đạt được không có thời gian chết, các ứng dụng phải có khả năng xử lý các lỗi tạm thời một cách linh hoạt .

Đối với các truy vấn điều chỉnh, Azure cung cấp cho DBA các Đề xuất về Hiệu suất, ngoài các phần mở rộng pg_statements và pg_buffercache được tải trước:

Tính khả dụng và nhân rộng cao trên Azure

Tính sẵn sàng cao của máy chủ cơ sở dữ liệu đạt được nhờ nhân bản phần cứng dựa trên nút. Điều này đảm bảo rằng trong trường hợp lỗi phần cứng, một nút mới có thể được hiển thị trong vòng hàng chục giây.

Azure cung cấp một cổng dự phòng làm điểm cuối kết nối mạng cho tất cả các máy chủ cơ sở dữ liệu trong một khu vực.

Bảo mật PostgreSQL trên Azure

Theo quy tắc tường lửa mặc định từ chối quyền truy cập vào phiên bản PostgreSQL. Vì máy chủ cơ sở dữ liệu Azure tương đương với một cụm cơ sở dữ liệu nên các quy tắc truy cập sẽ áp dụng cho tất cả các cơ sở dữ liệu được lưu trữ trên máy chủ.

Ngoài địa chỉ IP, các quy tắc tường lửa có thể tham chiếu đến mạng ảo, một tính năng chỉ có sẵn cho các cấp Mục đích Chung và Tối ưu hóa Bộ nhớ.

Một điều tôi thấy khác thường trong giao diện web tường lửa - tôi không thể điều hướng thoát khỏi trang trong khi các thay đổi đang được lưu:

Dữ liệu ở trạng thái nghỉ được mã hóa bằng Khóa do máy chủ quản lý và người dùng đám mây không thể vô hiệu hóa mã hóa. Dữ liệu trong quá trình truyền cũng được mã hóa - chỉ có thể thay đổi SSL yêu cầu sau khi máy chủ cơ sở dữ liệu được tạo. Cũng giống như dữ liệu ở trạng thái nghỉ, các bản sao lưu được mã hóa và không thể tắt mã hóa.

Advanced Threat Protection cung cấp các cảnh báo và khuyến nghị về một số yêu cầu truy cập cơ sở dữ liệu được coi là một nguy cơ bảo mật. Tính năng này hiện đang được xem trước. Để chứng minh, tôi đã mô phỏng một cuộc tấn công bạo lực bằng mật khẩu:

~ $ while : ; do psql -U $(pwgen -s 20 1)@pg10 ; sleep 0.1 ; done

psql: FATAL:  password authentication failed for user "AApT6z4xUzpynJwiNAYf"

psql: FATAL:  password authentication failed for user "gaNeW8VSIflkdnNZSpNV"

psql: FATAL:  password authentication failed for user "SWZnY7wGTxdLTLcbqnUW"

psql: FATAL:  password authentication failed for user "BVH2SC12m9js9vZHcuBd"

psql: FATAL:  password authentication failed for user "um9kqUxPIxeQrzWQXr2v"

psql: FATAL:  password authentication failed for user "8BGXyg3KHF3Eq3yHpik1"

psql: FATAL:  password authentication failed for user "5LsVrtBjcewd77Q4kaj1"

....

Kiểm tra nhật ký PostgreSQL:

2019-08-19 07:13:50 UTC-5d5a4c2e.138-FATAL:  password authentication failed

for user "AApT6z4xUzpynJwiNAYf"

2019-08-19 07:13:50 UTC-5d5a4c2e.138-DETAIL:  Role "AApT6z4xUzpynJwiNAYf" does not exist.

   Connection matched pg_hba.conf line 3: "host all all 173.180.222.170/32 password"

2019-08-19 07:13:51 UTC-5d5a4c2f.13c-LOG:  connection received: host=173.180.222.170 port=27248 pid=316

2019-08-19 07:13:51 UTC-5d5a4c2f.13c-FATAL:  password authentication failed for user "gaNeW8VSIflkdnNZSpNV"

2019-08-19 07:13:51 UTC-5d5a4c2f.13c-DETAIL:  Role "gaNeW8VSIflkdnNZSpNV" does not exist.

   Connection matched pg_hba.conf line 3: "host all all 173.180.222.170/32 password"

2019-08-19 07:13:52 UTC-5d5a4c30.140-LOG:  connection received: host=173.180.222.170 port=58256 pid=320

2019-08-19 07:13:52 UTC-5d5a4c30.140-FATAL:  password authentication failed for user "SWZnY7wGTxdLTLcbqnUW"

2019-08-19 07:13:52 UTC-5d5a4c30.140-DETAIL:  Role "SWZnY7wGTxdLTLcbqnUW" does not exist.

   Connection matched pg_hba.conf line 3: "host all all 173.180.222.170/32 password"

2019-08-19 07:13:53 UTC-5d5a4c31.148-LOG:  connection received: host=173.180.222.170 port=32984 pid=328

2019-08-19 07:13:53 UTC-5d5a4c31.148-FATAL:  password authentication failed for user "BVH2SC12m9js9vZHcuBd"

2019-08-19 07:13:53 UTC-5d5a4c31.148-DETAIL:  Role "BVH2SC12m9js9vZHcuBd" does not exist.

   Connection matched pg_hba.conf line 3: "host all all 173.180.222.170/32 password"

2019-08-19 07:13:53 UTC-5d5a4c31.14c-LOG:  connection received: host=173.180.222.170 port=43384 pid=332

2019-08-19 07:13:54 UTC-5d5a4c31.14c-FATAL:  password authentication failed for user "um9kqUxPIxeQrzWQXr2v"

2019-08-19 07:13:54 UTC-5d5a4c31.14c-DETAIL:  Role "um9kqUxPIxeQrzWQXr2v" does not exist.

   Connection matched pg_hba.conf line 3: "host all all 173.180.222.170/32 password"

2019-08-19 07:13:54 UTC-5d5a4c32.150-LOG:  connection received: host=173.180.222.170 port=27672 pid=336

2019-08-19 07:13:54 UTC-5d5a4c32.150-FATAL:  password authentication failed for user "8BGXyg3KHF3Eq3yHpik1"

2019-08-19 07:13:54 UTC-5d5a4c32.150-DETAIL:  Role "8BGXyg3KHF3Eq3yHpik1" does not exist.

   Connection matched pg_hba.conf line 3: "host all all 173.180.222.170/32 password"

2019-08-19 07:13:55 UTC-5d5a4c33.154-LOG:  connection received: host=173.180.222.170 port=12712 pid=340

2019-08-19 07:13:55 UTC-5d5a4c33.154-FATAL:  password authentication failed for user "5LsVrtBjcewd77Q4kaj1"

2019-08-19 07:13:55 UTC-5d5a4c33.154-DETAIL:  Role "5LsVrtBjcewd77Q4kaj1" does not exist.

Thông báo qua email đến khoảng 30 phút sau:

Để cho phép truy cập chi tiết vào máy chủ cơ sở dữ liệu, Azure cung cấp RBAC, là một tính năng kiểm soát truy cập gốc trên đám mây, chỉ là một công cụ nữa trong kho vũ khí của PostgreSQL Cloud DBA. Điều này gần như chúng ta có thể hiểu được các quy tắc truy cập pg_hba phổ biến.

Sao lưu và phục hồi PostgreSQL trên Azure

Bất kể bậc định giá, các bản sao lưu được giữ lại từ 7 đến 35 ngày. Mức giá cũng ảnh hưởng đến khả năng khôi phục dữ liệu.

Tính năng khôi phục theo thời gian có sẵn thông qua Azure Portal hoặc CLI và theo tài liệu là chi tiết trong tối đa năm phút. Chức năng cổng thông tin khá hạn chế - tiện ích con chọn ngày hiển thị mù mịt các ngày có thể có trong 7 ngày qua, mặc dù tôi đã tạo máy chủ hôm nay. Ngoài ra, không có xác minh nào được thực hiện trong thời gian mục tiêu khôi phục - Tôi dự kiến ​​rằng việc nhập một giá trị ngoài khoảng thời gian khôi phục sẽ gây ra lỗi ngăn trình hướng dẫn tiếp tục:

Khi quá trình khôi phục được bắt đầu, một lỗi, được cho là do lỗi của giá trị phạm vi, sẽ bật lên khoảng một phút sau:

… nhưng rất tiếc, thông báo lỗi không hữu ích lắm:

Cuối cùng, bộ nhớ sao lưu miễn phí trong thời gian lưu giữ lên đến 7 ngày. Điều đó có thể tỏ ra cực kỳ hữu ích cho các môi trường phát triển.

Gợi ý và Mẹo

Giới hạn

Làm quen với Giới hạn Máy chủ Đơn.

Kết nối

Luôn sử dụng chuỗi kết nối để kết nối được chuyển đến đúng máy chủ cơ sở dữ liệu.

Sao chép

Đối với các tình huống khôi phục sau thảm họa, hãy xác định vị trí các bản sao đã đọc ở một trong các vùng được ghép nối.

Vai trò

Cũng như trường hợp của AWS và GCloud, không có quyền truy cập siêu người dùng.

GUC

Không thể định cấu hình các thông số yêu cầu khởi động lại máy chủ hoặc quyền truy cập siêu người dùng.

Chia tỷ lệ

Trong quá trình tự động mở rộng quy mô, các ứng dụng nên thử lại cho đến khi nút mới được hiển thị.

Không thể chỉ định dung lượng bộ nhớ và IOPS - bộ nhớ được phân bổ theo đơn vị GB cho mỗi vCore, tối đa là 320GB (32vCores x 10GB) và IOPS phụ thuộc vào kích thước của bộ nhớ được cung cấp tối đa là 6000 IOPS. Tại thời điểm này, Azure cung cấp tùy chọn xem trước bộ nhớ lớn với tối đa 20.000 IOPS.

Không thể nâng cấp máy chủ được tạo trong Cấp cơ bản lên Mục đích Chung hoặc Tối ưu hóa Bộ nhớ.

Bộ nhớ

Đảm bảo rằng tính năng tự động phát triển được bật - nếu lượng dữ liệu vượt quá dung lượng lưu trữ được cấp, cơ sở dữ liệu sẽ chuyển sang chế độ chỉ đọc.

Bộ nhớ chỉ có thể được mở rộng. Cũng như với tất cả các nhà cung cấp dịch vụ đám mây khác, không thể giảm phân bổ bộ nhớ và tôi không thể tìm ra bất kỳ lời giải thích nào. Với thiết bị hiện đại, các nhà cung cấp dịch vụ đám mây lớn có đủ khả năng nên không có lý do gì để không cung cấp các tính năng tương tự như việc di chuyển dữ liệu trực tuyến LVM. Dung lượng lưu trữ thực sự rẻ ngày nay, thực sự không có lý do gì để suy nghĩ về việc giảm quy mô cho đến khi nâng cấp phiên bản lớn tiếp theo.

Tường lửa

Trong một số trường hợp, các bản cập nhật cho quy tắc tường lửa có thể mất đến năm phút để có hiệu lực.

Một máy chủ nằm trong cùng một mạng con vì các máy chủ ứng dụng sẽ không thể truy cập được cho đến khi các quy tắc tường lửa thích hợp được áp dụng.

Quy tắc mạng ảo không cho phép truy cập giữa các vùng và do đó, không thể sử dụng dblink và postgres_fdw để kết nối với cơ sở dữ liệu bên ngoài đám mây Azure.

Không thể áp dụng phương pháp VNet / Subnet cho Ứng dụng web vì các kết nối của chúng bắt nguồn từ địa chỉ IP công cộng.

Các mạng ảo lớn sẽ không khả dụng khi các điểm cuối dịch vụ được bật.

Mã hóa

Đối với các ứng dụng yêu cầu xác thực chứng chỉ máy chủ, tệp có sẵn để tải xuống từ Digicert. Microsoft đã làm cho nó dễ dàng và bạn không phải lo lắng về việc gia hạn cho đến năm 2025:

~ $ openssl x509 -in BaltimoreCyberTrustRoot.crt.pem -noout -dates

notBefore=May 12 18:46:00 2000 GMT

notAfter=May 12 23:59:00 2025 GMT

Hệ thống Phát hiện Xâm nhập

Bản phát hành xem trước của Bảo vệ Đe dọa Nâng cao không khả dụng cho các phiên bản Cấp cơ bản.

Sao lưu và Khôi phục

Đối với các ứng dụng không thể chịu được thời gian ngừng hoạt động theo khu vực, hãy xem xét việc định cấu hình máy chủ với bộ nhớ sao lưu dự phòng theo địa lý. Tùy chọn này chỉ có thể được bật tại thời điểm tạo máy chủ cơ sở dữ liệu.

Yêu cầu cấu hình lại các quy tắc của tường lửa đám mây sau một hoạt động PITR là đặc biệt quan trọng.

Xóa máy chủ cơ sở dữ liệu sẽ xóa tất cả các bản sao lưu.

Sau quá trình khôi phục, có một số tác vụ sau khôi phục sẽ phải được thực hiện.

Các bảng chưa đăng ký được khuyến nghị chèn hàng loạt để tăng hiệu suất, tuy nhiên, chúng không được sao chép.

Giám sát

Các chỉ số được ghi lại mỗi phút và lưu trữ trong 30 ngày.

Ghi nhật ký

Query Store là một tùy chọn chung, có nghĩa là nó áp dụng cho tất cả các cơ sở dữ liệu. Các giao dịch chỉ đọc và truy vấn dài hơn 6.000 byte là có vấn đề. Theo mặc định, các truy vấn đã chụp được giữ lại trong 7 ngày.

Hiệu suất

Đề xuất Thông tin chi tiết về Hiệu suất Truy vấn hiện bị giới hạn để tạo và thả chỉ mục.

Tắt pg_stat_staements khi không cần thiết.

Thay thế uuid_generate_v4 bằng gen_random_uuid (). Điều này phù hợp với khuyến nghị trong tài liệu PostgreSQL chính thức, xem Xây dựng uuid-ossp.

Tính khả dụng và nhân rộng cao

Có giới hạn là năm bản sao được đọc. Các ứng dụng cần nhiều khả năng ghi nên tránh sử dụng các bản sao đọc vì cơ chế sao chép không đồng bộ dẫn đến một số độ trễ mà các ứng dụng phải có khả năng chịu đựng. Bản sao đã đọc có thể được đặt ở một khu vực khác.

Hỗ trợ REPLICA chỉ có thể được bật sau khi máy chủ được tạo. Tính năng yêu cầu khởi động lại máy chủ:

Đọc bản sao không kế thừa các quy tắc tường lửa từ nút chính:

Chuyển đổi dự phòng để đọc bản sao không tự động. Cơ chế chuyển đổi dự phòng dựa trên nút.

Có một danh sách dài Các vấn đề cần được xem xét trước khi định cấu hình các bản sao đã đọc.

Việc tạo bản sao mất nhiều thời gian, ngay cả khi tôi đã thử nghiệm với tập dữ liệu tương đối nhỏ:

Chân không

Chân không

Xem lại các thông số chính, vì Cơ sở dữ liệu Azure cho PostgreSQL cung cấp các giá trị mặc định chân không ngược dòng:

[email protected]:5432 postgres> select name,setting from pg_settings where name ~ '^autovacuum.*';

               name                 | setting

-------------------------------------+-----------

autovacuum                          | on

autovacuum_analyze_scale_factor     | 0.05

autovacuum_analyze_threshold        | 50

autovacuum_freeze_max_age           | 200000000

autovacuum_max_workers              | 3

autovacuum_multixact_freeze_max_age | 400000000

autovacuum_naptime                  | 15

autovacuum_vacuum_cost_delay        | 20

autovacuum_vacuum_cost_limit        | -1

autovacuum_vacuum_scale_factor      | 0.05

autovacuum_vacuum_threshold         | 50

autovacuum_work_mem                 | -1

(12 rows)

Nâng cấp

Các bản nâng cấp lớn tự động không được hỗ trợ. Như đã đề cập trước đó, đây là một cơ hội tiết kiệm chi phí, bằng cách thu nhỏ dung lượng lưu trữ tự động phát triển.

Các cải tiến của PostgreSQL Azure

Timeseries

TimescaleDB có sẵn dưới dạng tiện ích mở rộng (không phải là một phần của mô-đun PostgreSQL), tuy nhiên, chỉ cần một vài cú nhấp chuột. Hạn chế duy nhất là phiên bản 1.1.1 cũ hơn, trong khi phiên bản ngược dòng hiện ở 1.4.1 (2019-08-01).

[email protected]:5432 postgres> CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

WARNING:

WELCOME TO

_____ _                               _ ____________

|_   _(_)                             | | | _ \ ___ \

| |  _ _ __ ___   ___ ___ ___ __ _| | ___| | | | |_/ /

| | | |  _ ` _ \ / _ \/ __|/ __/ _` | |/ _ \ | | | ___ \

| | | | | | | | |  __/\__ \ (_| (_| | |  __/ |/ /| |_/ /

|_| |_|_| |_| |_|\___||___/\___\__,_|_|\___|___/ \____/

               Running version 1.1.1

For more information on TimescaleDB, please visit the following links:



1. Getting started: https://docs.timescale.com/getting-started

2. API reference documentation: https://docs.timescale.com/api

3. How TimescaleDB is designed: https://docs.timescale.com/introduction/architecture




CREATE EXTENSION



[email protected]:5432 postgres> \dx timescaledb

                                    List of installed extensions

   Name     | Version | Schema |                            Description

-------------+---------+--------+-------------------------------------------------------------------

timescaledb | 1.1.1   | public | Enables scalable inserts and complex queries for time-series data

(1 row)

Ghi nhật ký

Ngoài các tùy chọn ghi nhật ký PostgreSQL, Cơ sở dữ liệu Azure cho PostgreSQL có thể được định cấu hình để ghi lại các sự kiện chẩn đoán bổ sung.

Tường lửa

Azure Portal bao gồm một tính năng tiện dụng để cho phép kết nối từ các địa chỉ IP đã đăng nhập vào cổng:

Tôi đã lưu ý đến tính năng này vì nó giúp các nhà phát triển và quản trị viên hệ thống dễ dàng cho phép mình tham gia và nó nổi bật như một tính năng không được cung cấp bởi AWS và GCloud.

Kết luận

Cơ sở dữ liệu Azure cho Máy chủ đơn PostgreSQL cung cấp các dịch vụ cấp doanh nghiệp, tuy nhiên, nhiều dịch vụ trong số này vẫn ở chế độ xem trước:Cửa hàng truy vấn, Thông tin chi tiết về hiệu suất, Đề xuất hiệu suất, Bảo vệ mối đe dọa nâng cao, Bộ nhớ lớn, Vùng chéo Đọc bản sao.

Trong khi kiến ​​thức hệ điều hành không còn cần thiết để quản trị PostgreSQL trên đám mây Azure, DBA được kỳ vọng sẽ có được các kỹ năng không giới hạn trong chính cơ sở dữ liệu - mạng Azure (VNet), bảo mật kết nối (tường lửa ), trình xem nhật ký và phân tích cùng với KQL, Azure CLI để tạo tập lệnh tiện dụng và danh sách vẫn tiếp tục.

Cuối cùng, đối với những người dự định chuyển khối lượng công việc PostgreSQL của họ sang Azure, có một số tài nguyên có sẵn cùng với danh sách các Đối tác Azure được chọn bao gồm Credativ, một trong những nhà tài trợ và cộng tác viên chính của PostgreSQL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để tối ưu hóa PostgreSQL Logical Replication

  2. Postgres:chuyển đổi một hàng thành nhiều hàng (bỏ chia)

  3. Heroku Postgres:psql:FATAL:không có mục nhập pg_hba.conf cho máy chủ

  4. Trích xuất ngày (yyyy / mm / dd) từ dấu thời gian trong PostgreSQL

  5. Nhận [archiver] phiên bản không được hỗ trợ (1.13) trong tiêu đề tệp khi chạy pg_restore