[{"data":1,"prerenderedAt":422},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fconnections\u002Fazure-database-configuration":3},{"id":4,"title":5,"body":6,"description":413,"extension":414,"meta":415,"navigation":416,"path":417,"redirect":418,"seo":419,"stem":420,"__hash__":421},"docs\u002Fdocs\u002Fconnections\u002Fazure-database-configuration.md","Azure Database Connection Guide",{"type":7,"value":8,"toc":404},"minimark",[9,13,17,20,36,39,44,67,71,105,109,112,123,131,136,140,147,150,175,181,184,206,209,225,229,232,238,277,280,333,337,382,386,400],[10,11,5],"h1",{"id":12},"azure-database-connection-guide",[14,15,16],"p",{},"Use this page when your source or target is hosted in Azure Database for MySQL or Azure Database for PostgreSQL.",[14,18,19],{},"This guide focuses on the base connectivity steps that DBConvert Streams needs:",[21,22,23,27,30,33],"ul",{},[24,25,26],"li",{},"firewall and network access",[24,28,29],{},"server endpoint and credentials",[24,31,32],{},"TLS\u002FSSL requirements",[24,34,35],{},"the extra PostgreSQL setting needed before CDC setup",[14,37,38],{},"For current workflow boundaries, see the product introduction page.",[40,41,43],"h2",{"id":42},"base-setup","Base setup",[45,46,47,58,61,64],"ol",{},[24,48,49,50,57],{},"Sign in to the ",[51,52,56],"a",{"href":53,"rel":54},"https:\u002F\u002Fportal.azure.com",[55],"nofollow","Azure Portal",".",[24,59,60],{},"Open your MySQL or PostgreSQL server resource.",[24,62,63],{},"Confirm the server endpoint, port, and allowed network path from the DBConvert Streams deployment.",[24,65,66],{},"Confirm which workflow you want: Load only, or PostgreSQL CDC source.",[40,68,70],{"id":69},"network-access","Network access",[45,72,73,81,84,87],{},[24,74,75,76,80],{},"Open the server ",[77,78,79],"strong",{},"Networking"," section.",[24,82,83],{},"Add the public IP address of the DBConvert Streams deployment, or the appropriate IP range if your environment requires it.",[24,85,86],{},"Save the firewall rule.",[24,88,89,90],{},"Confirm the server is reachable on:\n",[21,91,92,99],{},[24,93,94,98],{},[95,96,97],"code",{},"3306"," for MySQL",[24,100,101,104],{},[95,102,103],{},"5432"," for PostgreSQL",[40,106,108],{"id":107},"tlsssl-configuration","TLS\u002FSSL configuration",[14,110,111],{},"TLS\u002FSSL is typically enforced on Azure-managed databases by default.",[45,113,114,117,120],{},[24,115,116],{},"Download the Azure CA certificate from Microsoft's documentation for the selected service.",[24,118,119],{},"In DBConvert Streams, enable SSL\u002FTLS for the connection.",[24,121,122],{},"Use a verification mode that matches your certificate setup.",[14,124,125,126,130],{},"Use ",[51,127,129],{"href":128},"\u002Fdocs\u002Fnetwork-security\u002Fssl-configuration","SSL Configuration"," for the general certificate workflow.",[132,133],"alert",{"title":134,"type":135},"Do not disable secure transport unless you have a specific non-production reason and understand the tradeoff.","note",[40,137,139],{"id":138},"connection-setup-in-dbconvert-streams","Connection setup in DBConvert Streams",[14,141,142],{},[143,144],"img",{"alt":145,"src":146},"Azure For MySQL Connection Details","\u002Fimages\u002Fdocs\u002Fconnections\u002Fazure-for-mysql-connection-details.png",[14,148,149],{},"Typical MySQL fields:",[21,151,152,158,163,166,169,172],{},[24,153,154,155],{},"host: ",[95,156,157],{},"\u003Cservername>.mysql.database.azure.com",[24,159,160,161],{},"port: ",[95,162,97],{},[24,164,165],{},"username",[24,167,168],{},"password",[24,170,171],{},"database",[24,173,174],{},"SSL\u002FTLS settings",[14,176,177],{},[143,178],{"alt":179,"src":180},"Azure For PostgreSQL Connection Details","\u002Fimages\u002Fdocs\u002Fconnections\u002Fazure-for-postgres-connection-details.png",[14,182,183],{},"Typical PostgreSQL fields:",[21,185,186,191,195,197,199,201,204],{},[24,187,154,188],{},[95,189,190],{},"\u003Cservername>.postgres.database.azure.com",[24,192,160,193],{},[95,194,103],{},[24,196,165],{},[24,198,168],{},[24,200,171],{},[24,202,203],{},"optional schema scope",[24,205,174],{},[14,207,208],{},"Use:",[21,210,211,218],{},[24,212,213,217],{},[51,214,216],{"href":215},"\u002Fdocs\u002Fconnections\u002Fmysql-server","MySQL Server Configuration"," for server-level MySQL guidance",[24,219,220,224],{},[51,221,223],{"href":222},"\u002Fdocs\u002Fconnections\u002Fpostgresql-server","PostgreSQL Server Configuration"," for server-level PostgreSQL guidance",[40,226,228],{"id":227},"postgresql-cdc-preparation","PostgreSQL CDC preparation",[14,230,231],{},"If Azure PostgreSQL is the CDC source, base connectivity is not enough.",[14,233,234],{},[143,235],{"alt":236,"src":237},"Azure PostgreSQL Server Parameters","\u002Fimages\u002Fdocs\u002Fconnections\u002Fazure-postgres-parameters.png",[45,239,240,247,257,267,270],{},[24,241,242,243,246],{},"Open ",[77,244,245],{},"Server parameters"," in Azure Portal.",[24,248,249,250,253,254,57],{},"Confirm your deployment uses ",[77,251,252],{},"Azure Database for PostgreSQL — Flexible Server",", which supports logical replication. Single Server deployments have limited or no support for ",[95,255,256],{},"wal_level = logical",[24,258,259,260,263,264,57],{},"Set ",[95,261,262],{},"wal_level"," to ",[95,265,266],{},"logical",[24,268,269],{},"Restart the server when Azure prompts for it.",[24,271,272,273,57],{},"Then complete the remaining steps in ",[51,274,276],{"href":275},"\u002Fdocs\u002Fintegration\u002Fpostgres-cdc-source-configuration","PostgreSQL CDC Source Configuration",[14,278,279],{},"After restart, verify:",[281,282,287],"pre",{"className":283,"code":284,"language":285,"meta":286,"style":286},"language-sql shiki shiki-themes github-light github-dark","SELECT name, setting\nFROM pg_settings\nWHERE name IN (\n  'wal_level',\n  'max_replication_slots',\n  'max_wal_senders'\n);\n","sql","",[95,288,289,297,303,309,315,321,327],{"__ignoreMap":286},[290,291,294],"span",{"class":292,"line":293},"line",1,[290,295,296],{},"SELECT name, setting\n",[290,298,300],{"class":292,"line":299},2,[290,301,302],{},"FROM pg_settings\n",[290,304,306],{"class":292,"line":305},3,[290,307,308],{},"WHERE name IN (\n",[290,310,312],{"class":292,"line":311},4,[290,313,314],{},"  'wal_level',\n",[290,316,318],{"class":292,"line":317},5,[290,319,320],{},"  'max_replication_slots',\n",[290,322,324],{"class":292,"line":323},6,[290,325,326],{},"  'max_wal_senders'\n",[290,328,330],{"class":292,"line":329},7,[290,331,332],{},");\n",[40,334,336],{"id":335},"validation-checklist","Validation checklist",[45,338,339,351,357,371],{},[24,340,341,342,346,347,350],{},"Test the connection from the ",[51,343,345],{"href":344},"\u002Fdocs\u002Fdatabase-explorer\u002F","Data Explorer"," sidebar (right-click → ",[77,348,349],{},"Test connection",") or from the connection editor. If TLS fails, verify the Azure CA certificate is uploaded and the SSL mode matches the server enforcement setting.",[24,352,353,354,356],{},"Open the connection in ",[51,355,345],{"href":344}," to confirm visibility.",[24,358,359,360,363,364,367,368,370],{},"For PostgreSQL CDC, confirm the deployment is ",[77,361,362],{},"Flexible Server"," and run ",[95,365,366],{},"SHOW wal_level"," — it must return ",[95,369,266],{},". Single Server deployments may not support this.",[24,372,373,374,377,378,381],{},"For MySQL, verify the ",[95,375,376],{},"@servername"," suffix is included in the username if Azure requires it (e.g. ",[95,379,380],{},"user@servername",").",[40,383,385],{"id":384},"related-docs","Related docs",[21,387,388,392,396],{},[24,389,390],{},[51,391,216],{"href":215},[24,393,394],{},[51,395,223],{"href":222},[24,397,398],{},[51,399,276],{"href":275},[401,402,403],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":286,"searchDepth":299,"depth":299,"links":405},[406,407,408,409,410,411,412],{"id":42,"depth":299,"text":43},{"id":69,"depth":299,"text":70},{"id":107,"depth":299,"text":108},{"id":138,"depth":299,"text":139},{"id":227,"depth":299,"text":228},{"id":335,"depth":299,"text":336},{"id":384,"depth":299,"text":385},"Configure Azure-managed MySQL and PostgreSQL databases for DBConvert Streams.","md",{},false,"\u002Fdocs\u002Fconnections\u002Fazure-database-configuration",null,{"title":5,"description":413},"docs\u002Fconnections\u002Fazure-database-configuration","4a2dtvGnaT_KJVWvRsqC1MbI-6sjooySLAE3-SS8Mdw",1783896284716]