Files
postgrest/docs/_static/arch.svg
T
steve-chavez 9e58946ec6 docs: update architecture HTTP link
It links directly to warp page, which is confusing. Link to the
same page reference instead, which finally links to warp.
2025-05-26 13:45:33 -05:00

1 line
27 KiB
XML

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" contentStyleType="text/css" height="650px" preserveAspectRatio="none" style="width:1541px;height:650px;" version="1.1" viewBox="0 0 1541 650" width="1541px" zoomAndPan="magnify"><defs/><g><!--cluster PostgREST--><g id="cluster_PostgREST"><path d="M188.09,128.8 L273.9923,128.8 A3.75,3.75 0 0 1 276.4923,131.3 L283.4923,151.0969 L806.09,151.0969 A2.5,2.5 0 0 1 808.59,153.5969 L808.59,510.89 A2.5,2.5 0 0 1 806.09,513.39 L188.09,513.39 A2.5,2.5 0 0 1 185.59,510.89 L185.59,131.3 A2.5,2.5 0 0 1 188.09,128.8 " fill="none" style="stroke:#000000;stroke-width:1.5;"/><line style="stroke:#000000;stroke-width:1.5;" x1="185.59" x2="283.4923" y1="151.0969" y2="151.0969"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="84.9023" x="189.59" y="143.7951">PostgREST</text></g><!--cluster PostgreSQL--><g id="cluster_PostgreSQL"><path d="M840.59,310.1 C840.59,300.1 1122.09,300.1 1122.09,300.1 C1122.09,300.1 1403.59,300.1 1403.59,310.1 L1403.59,623.69 C1403.59,633.69 1122.09,633.69 1122.09,633.69 C1122.09,633.69 840.59,633.69 840.59,623.69 L840.59,310.1 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><path d="M840.59,310.1 C840.59,320.1 1122.09,320.1 1122.09,320.1 C1122.09,320.1 1403.59,320.1 1403.59,310.1 " fill="none" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="92.2305" x="1075.9748" y="335.0951">PostgreSQL</text></g><!--cluster Authorization--><g id="cluster_Authorization"><a href="../explanations/db_authz.html" target="_top" title="../explanations/db_authz.html" xlink:actuate="onRequest" xlink:href="../explanations/db_authz.html" xlink:show="new" xlink:title="../explanations/db_authz.html" xlink:type="simple"><polygon fill="none" points="880.59,394.1,890.59,384.1,1103.59,384.1,1103.59,506.39,1093.59,516.39,880.59,516.39,880.59,394.1" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1093.59" x2="1103.59" y1="394.1" y2="384.1"/><line style="stroke:#181818;stroke-width:1.0;" x1="880.59" x2="1093.59" y1="394.1" y2="394.1"/><line style="stroke:#181818;stroke-width:1.0;" x1="1093.59" x2="1093.59" y1="394.1" y2="516.39"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="107.4541" x="934.3629" y="410.0951">Authorization</text></a></g><!--cluster API--><g id="cluster_API"><a href="../explanations/schema_isolation.html" target="_top" title="../explanations/schema_isolation.html" xlink:actuate="onRequest" xlink:href="../explanations/schema_isolation.html" xlink:show="new" xlink:title="../explanations/schema_isolation.html" xlink:type="simple"><polygon fill="none" points="1143.59,394.1,1153.59,384.1,1351.59,384.1,1351.59,506.39,1341.59,516.39,1143.59,516.39,1143.59,394.1" style="stroke:#181818;stroke-width:1.0;"/><line style="stroke:#181818;stroke-width:1.0;" x1="1341.59" x2="1351.59" y1="394.1" y2="384.1"/><line style="stroke:#181818;stroke-width:1.0;" x1="1143.59" x2="1341.59" y1="394.1" y2="394.1"/><line style="stroke:#181818;stroke-width:1.0;" x1="1341.59" x2="1341.59" y1="394.1" y2="516.39"/><text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacing" textLength="91.3076" x="1197.9362" y="410.0951">API schema</text></a></g><!--entity HTTPAPI--><g id="elem_HTTPAPI"><a href="../explanations/architecture.html#http" target="_top" title="../explanations/architecture.html#http" xlink:actuate="onRequest" xlink:href="../explanations/architecture.html#http" xlink:show="new" xlink:title="../explanations/architecture.html#http" xlink:type="simple"><ellipse cx="210.59" cy="474.24" fill="#F1F1F1" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36.0732" x="192.5534" y="504.2351">HTTP</text></a></g><!--entity Auth--><g id="elem_Auth"><a href="../references/auth.html#authn" target="_top" title="../references/auth.html#authn" xlink:actuate="onRequest" xlink:href="../references/auth.html#authn" xlink:show="new" xlink:title="../references/auth.html#authn" xlink:type="simple"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="72.8125" x="254.19" y="451.1"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="307.0025" y="456.1"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="305.0025" y="458.1"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="305.0025" y="462.1"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="32.8125" x="269.19" y="484.0951">Auth</text></a></g><!--entity ApiRequest--><g id="elem_ApiRequest"><a href="../explanations/architecture.html#api-request" target="_top" title="../explanations/architecture.html#api-request" xlink:actuate="onRequest" xlink:href="../explanations/architecture.html#api-request" xlink:show="new" xlink:title="../explanations/architecture.html#api-request" xlink:type="simple"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="119.8506" x="361.67" y="451.1"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="461.5206" y="456.1"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="459.5206" y="458.1"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="459.5206" y="462.1"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="79.8506" x="376.67" y="484.0951">ApiRequest</text></a></g><!--entity Plan--><g id="elem_Plan"><a href="../explanations/architecture.html#plan" target="_top" title="../explanations/architecture.html#plan" xlink:actuate="onRequest" xlink:href="../explanations/architecture.html#plan" xlink:show="new" xlink:title="../explanations/architecture.html#plan" xlink:type="simple"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="69.7842" x="516.7" y="451.1"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="566.4842" y="456.1"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="564.4842" y="458.1"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="564.4842" y="462.1"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="29.7842" x="531.7" y="484.0951">Plan</text></a></g><!--entity Query--><g id="elem_Query"><a href="../explanations/architecture.html#query" target="_top" title="../explanations/architecture.html#query" xlink:actuate="onRequest" xlink:href="../explanations/architecture.html#query" xlink:show="new" xlink:title="../explanations/architecture.html#query" xlink:type="simple"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="82.5469" x="622.32" y="451.1"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="684.8669" y="456.1"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="682.8669" y="458.1"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="682.8669" y="462.1"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="42.5469" x="637.32" y="484.0951">Query</text></a></g><!--entity Connection Pool--><g id="elem_Connection Pool"><a href="../references/connection_pool.html" target="_top" title="../references/connection_pool.html" xlink:actuate="onRequest" xlink:href="../references/connection_pool.html" xlink:show="new" xlink:title="../references/connection_pool.html" xlink:type="simple"><ellipse cx="783.59" cy="474.24" fill="#F1F1F1" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="113.1279" x="727.026" y="504.2351">Connection Pool</text></a></g><!--entity Schema Cache--><g id="elem_Schema Cache"><a href="../references/schema_cache.html#schema-cache" target="_top" title="../references/schema_cache.html#schema-cache" xlink:actuate="onRequest" xlink:href="../references/schema_cache.html#schema-cache" xlink:show="new" xlink:title="../references/schema_cache.html#schema-cache" xlink:type="simple"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="144.2754" x="546.46" y="182.8"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="670.7354" y="187.8"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="668.7354" y="189.8"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="668.7354" y="193.8"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="104.2754" x="561.46" y="215.7951">Schema Cache</text></a></g><!--entity Listener--><g id="elem_Listener"><a href="../references/listener.html#listener" target="_top" title="../references/listener.html#listener" xlink:actuate="onRequest" xlink:href="../references/listener.html#listener" xlink:show="new" xlink:title="../references/listener.html#listener" xlink:type="simple"><ellipse cx="783.59" cy="205.95" fill="#F1F1F1" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="56.3281" x="755.4259" y="235.9451">Listener</text></a></g><!--entity HTTPADMIN--><g id="elem_HTTPADMIN"><a href="../explanations/architecture.html#http" target="_top" title="../explanations/architecture.html#http" xlink:actuate="onRequest" xlink:href="../explanations/architecture.html#http" xlink:show="new" xlink:title="../explanations/architecture.html#http" xlink:type="simple"><ellipse cx="329.59" cy="205.95" fill="#F1F1F1" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="36.0732" x="311.5534" y="235.9451">HTTP</text></a></g><!--entity Admin--><g id="elem_Admin"><a href="../references/admin_server.html#admin-server" target="_top" title="../references/admin_server.html#admin-server" xlink:actuate="onRequest" xlink:href="../references/admin_server.html#admin-server" xlink:show="new" xlink:title="../references/admin_server.html#admin-server" xlink:type="simple"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="84.8643" x="201.16" y="182.8"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="266.0243" y="187.8"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="264.0243" y="189.8"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="264.0243" y="193.8"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="44.8643" x="216.16" y="215.7951">Admin</text></a></g><!--entity Config--><g id="elem_Config"><a href="../references/configuration.html#configuration" target="_top" title="../references/configuration.html#configuration" xlink:actuate="onRequest" xlink:href="../references/configuration.html#configuration" xlink:show="new" xlink:title="../references/configuration.html#configuration" xlink:type="simple"><rect fill="#F1F1F1" height="46.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="84.9189" x="426.13" y="182.8"/><rect fill="#F1F1F1" height="10" style="stroke:#181818;stroke-width:0.5;" width="15" x="491.0489" y="187.8"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="489.0489" y="189.8"/><rect fill="#F1F1F1" height="2" style="stroke:#181818;stroke-width:0.5;" width="4" x="489.0489" y="193.8"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="44.9189" x="441.13" y="215.7951">Config</text></a></g><!--entity CLI--><g id="elem_CLI"><a href="../references/cli.html#cli" target="_top" title="../references/cli.html#cli" xlink:actuate="onRequest" xlink:href="../references/cli.html#cli" xlink:show="new" xlink:title="../references/cli.html#cli" xlink:type="simple"><ellipse cx="382.59" cy="205.95" fill="#F1F1F1" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="21.7041" x="371.7379" y="235.9451">CLI</text></a></g><!--entity tbs--><g id="elem_tbs"><rect fill="#F1F1F1" height="36.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="150.5049" x="1217.34" y="573.39"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="130.5049" x="1227.34" y="596.3851">Tables, extensions</text></g><!--entity Roles, GRANT, RLS--><g id="elem_Roles, GRANT, RLS"><rect fill="#F1F1F1" height="36.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="151.4824" x="904.85" y="456.1"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="131.4824" x="914.85" y="479.0951">Roles, GRANT, RLS</text></g><!--entity Functions, Views--><g id="elem_Functions, Views"><rect fill="#F1F1F1" height="36.2969" rx="2.5" ry="2.5" style="stroke:#181818;stroke-width:0.5;" width="137.332" x="1167.93" y="456.1"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="117.332" x="1177.93" y="479.0951">Functions, Views</text></g><!--entity user--><g id="elem_user"><ellipse cx="37.5881" cy="444.6" fill="#F1F1F1" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M37.5881,452.6 L37.5881,479.6 M24.5881,460.6 L50.5881,460.6 M37.5881,479.6 L24.5881,494.6 M37.5881,479.6 L50.5881,494.6 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="30.5361" x="22.32" y="509.0951">user</text></g><!--entity Proxy--><g id="elem_Proxy"><a href="../explanations/nginx.html" target="_top" title="../explanations/nginx.html" xlink:actuate="onRequest" xlink:href="../explanations/nginx.html" xlink:show="new" xlink:title="../explanations/nginx.html" xlink:type="simple"><polygon fill="#F1F1F1" points="166.93,474.24,147.26,461.1,107.93,461.1,88.26,474.24,107.93,487.39,147.26,487.39,166.93,474.24" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="39.334" x="107.927" y="479.0951">Proxy</text></a></g><!--entity operator--><g id="elem_operator"><ellipse cx="353.5955" cy="14" fill="#F1F1F1" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M353.5955,22 L353.5955,49 M340.5955,30 L366.5955,30 M353.5955,49 L340.5955,64 M353.5955,49 L366.5955,64 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="60.2109" x="323.49" y="78.4951">operator</text></g><!--entity developer--><g id="elem_developer"><ellipse cx="1499.5947" cy="444.6" fill="#F1F1F1" rx="8" ry="8" style="stroke:#181818;stroke-width:0.5;"/><path d="M1499.5947,452.6 L1499.5947,479.6 M1486.5947,460.6 L1512.5947,460.6 M1499.5947,479.6 L1486.5947,494.6 M1499.5947,479.6 L1512.5947,494.6 " fill="none" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="14" lengthAdjust="spacing" textLength="70.1094" x="1464.54" y="509.0951">developer</text></g><g id="elem_GMN55"><path d="M6,578.98 L6,604.1128 L229.1855,604.1128 L229.1855,588.98 L219.1855,578.98 L6,578.98 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M219.1855,578.98 L219.1855,588.98 L229.1855,588.98 L219.1855,578.98 " fill="#FEFFDD" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="202.1855" x="12" y="596.0469">Authenticates the user request</text></g><g id="elem_GMN58"><path d="M264.25,578.98 L264.25,604.1128 A0,0 0 0 0 264.25,604.1128 L430.9287,604.1128 A0,0 0 0 0 430.9287,604.1128 L430.9287,588.98 L420.9287,578.98 L359.2,578.98 L407.15,497.75 L351.2,578.98 L264.25,578.98 A0,0 0 0 0 264.25,578.98 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M420.9287,578.98 L420.9287,588.98 L430.9287,588.98 L420.9287,578.98 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="145.6787" x="270.25" y="596.0469">Parses the URL syntax</text></g><g id="elem_GMN61"><path d="M465.62,578.98 L465.62,604.1128 A0,0 0 0 0 465.62,604.1128 L637.5673,604.1128 A0,0 0 0 0 637.5673,604.1128 L637.5673,588.98 L627.5673,578.98 L555.59,578.98 L551.59,497.75 L547.59,578.98 L465.62,578.98 A0,0 0 0 0 465.62,578.98 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M627.5673,578.98 L627.5673,588.98 L637.5673,588.98 L627.5673,578.98 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="150.9473" x="471.62" y="596.0469">Generates internal AST</text></g><g id="elem_GMN64"><path d="M672.69,578.98 L672.69,604.1128 A0,0 0 0 0 672.69,604.1128 L816.5045,604.1128 A0,0 0 0 0 816.5045,604.1128 L816.5045,588.98 L806.5045,578.98 L740.26,578.98 L679.4,497.75 L732.26,578.98 L672.69,578.98 A0,0 0 0 0 672.69,578.98 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M806.5045,578.98 L806.5045,588.98 L816.5045,588.98 L806.5045,578.98 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="122.8145" x="678.69" y="596.0469">Generates the SQL</text></g><g id="elem_GMN67"><path d="M724.36,31.08 L724.36,56.2128 A0,0 0 0 0 724.36,56.2128 L779.59,56.2128 L783.59,196.8 L787.59,56.2128 L842.8219,56.2128 A0,0 0 0 0 842.8219,56.2128 L842.8219,41.08 L832.8219,31.08 L724.36,31.08 A0,0 0 0 0 724.36,31.08 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><path d="M832.8219,31.08 L832.8219,41.08 L842.8219,41.08 L832.8219,31.08 " fill="#FEFFDD" style="stroke:#181818;stroke-width:0.5;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="97.4619" x="730.36" y="48.1469">LISTEN session</text></g><!--link HTTPAPI to Auth--><g id="link_HTTPAPI_Auth"><path d="M219.97,474.24 C231.28,474.24 242.59,474.24 253.9,474.24 " fill="none" id="HTTPAPI-Auth" style="stroke:#181818;stroke-width:1.0;"/></g><!--link Auth to ApiRequest--><g id="link_Auth_ApiRequest"><path d="M327.44,474.24 C338.72,474.24 343.99,474.24 355.27,474.24 " fill="none" id="Auth-to-ApiRequest" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="361.27,474.24,352.27,470.24,356.27,474.24,352.27,478.24,361.27,474.24" style="stroke:#181818;stroke-width:1.0;"/></g><!--link ApiRequest to Plan--><g id="link_ApiRequest_Plan"><path d="M481.77,474.24 C493.31,474.24 498.86,474.24 510.41,474.24 " fill="none" id="ApiRequest-to-Plan" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="516.41,474.24,507.41,470.24,511.41,474.24,507.41,478.24,516.41,474.24" style="stroke:#181818;stroke-width:1.0;"/></g><!--link Plan to Query--><g id="link_Plan_Query"><path d="M586.59,474.24 C598.42,474.24 604.25,474.24 616.08,474.24 " fill="none" id="Plan-to-Query" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="622.08,474.24,613.08,470.24,617.08,474.24,613.08,478.24,622.08,474.24" style="stroke:#181818;stroke-width:1.0;"/></g><!--link Query to Connection Pool--><g id="link_Query_Connection Pool"><path d="M705.23,474.24 C730.14,474.24 759.72,474.24 774.39,474.24 " fill="none" id="Query-Connection Pool" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Schema Cache to Plan--><g id="link_Schema Cache_Plan"><path d="M611.5352,235.0085 C598.9152,285.1385 569.86,400.63 557.22,450.87 " fill="none" id="Schema Cache-backto-Plan" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="613,229.19,606.9239,236.9412,611.7794,234.0387,614.6818,238.8942,613,229.19" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="29.7832" x="605.12" y="272.1669">uses</text></g><!--reverse link Schema Cache to Listener--><g id="link_Schema Cache_Listener"><path d="M696.96,205.95 C729.52,205.95 758.22,205.95 774.35,205.95 " fill="none" id="Schema Cache-backto-Listener" style="stroke:#181818;stroke-width:1.0;"/><polygon fill="#181818" points="690.96,205.95,699.96,209.95,695.96,205.95,699.96,201.95,690.96,205.95" style="stroke:#181818;stroke-width:1.0;"/><text fill="#000000" font-family="sans-serif" font-size="13" lengthAdjust="spacing" textLength="47.8994" x="709.16" y="199.0169">reloads</text></g><!--link Admin to HTTPADMIN--><g id="link_Admin_HTTPADMIN"><path d="M286.26,205.95 C297.54,205.95 308.83,205.95 320.11,205.95 " fill="none" id="Admin-HTTPADMIN" style="stroke:#181818;stroke-width:1.0;"/></g><!--link CLI to Config--><g id="link_CLI_Config"><path d="M392,205.95 C403.27,205.95 414.54,205.95 425.81,205.95 " fill="none" id="CLI-Config" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link Config to Listener--><g id="link_Config_Listener"><path d="M480.1117,176.8949 C491.5717,151.0449 511.61,116.68 546.09,101.3 C575.52,88.17 661.67,88.17 691.09,101.3 C735.82,121.26 767.56,174.88 778.95,196.61 " fill="none" id="Config-backto-Listener" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:1.0,3.0;"/><polygon fill="#181818" points="477.68,182.38,484.9843,175.7734,479.7064,177.809,477.6708,172.5311,477.68,182.38" style="stroke:#181818;stroke-width:1.0;"/></g><!--link HTTPADMIN to CLI--><!--link Config to Schema Cache--><!--link Admin to Schema Cache--><!--link CLI to Schema Cache--><!--link API to tbs--><g id="link_API_tbs"><path d="M1327.8472,516.512 C1327.7784,516.6976 1327.7094,516.8832 1327.6403,517.0688 C1327.3638,517.8113 1327.0852,518.554 1326.8047,519.2961 C1326.2437,520.7804 1325.675,522.2621 1325.1002,523.734 C1323.9505,526.6778 1322.7763,529.5825 1321.59,532.39 C1315.71,546.32 1308.04,561.6 1302.07,573 " fill="none" id="API-tbs" style="stroke:#181818;stroke-width:1.0;"/></g><!--link Authorization to API--><!--link user to Proxy--><g id="link_user_Proxy"><path d="M53.06,474.24 C64.51,474.24 69.96,474.24 81.42,474.24 " fill="none" id="user-to-Proxy" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="87.42,474.24,78.42,470.24,82.42,474.24,78.42,478.24,87.42,474.24" style="stroke:#181818;stroke-width:1.0;"/></g><!--link Proxy to HTTPAPI--><g id="link_Proxy_HTTPAPI"><path d="M167.8,474.24 C178.94,474.24 184.09,474.24 195.23,474.24 " fill="none" id="Proxy-to-HTTPAPI" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="201.23,474.24,192.23,470.24,196.23,474.24,192.23,478.24,201.23,474.24" style="stroke:#181818;stroke-width:1.0;"/></g><!--link operator to HTTPADMIN--><g id="link_operator_HTTPADMIN"><path d="M347.97,82.23 C342.31,119.99 334.8877,169.566 331.7477,190.556 " fill="none" id="operator-to-HTTPADMIN" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="330.86,196.49,336.1475,188.1808,331.5997,191.545,328.2356,186.9972,330.86,196.49" style="stroke:#181818;stroke-width:1.0;"/></g><!--link operator to CLI--><g id="link_operator_CLI"><path d="M360.39,82.23 C367.22,119.99 376.1911,169.596 379.9911,190.586 " fill="none" id="operator-to-CLI" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="381.06,196.49,383.3927,186.9214,380.1693,191.57,375.5207,188.3465,381.06,196.49" style="stroke:#181818;stroke-width:1.0;"/></g><!--reverse link PostgreSQL to developer--><g id="link_PostgreSQL_developer"><path d="M1409.7057,474.24 C1409.9773,474.24 1404.4563,474.24 1404.7366,474.24 C1405.2972,474.24 1405.875,474.24 1406.4691,474.24 C1411.2213,474.24 1417.0113,474.24 1423.355,474.24 C1436.0425,474.24 1450.945,474.24 1464.19,474.24 " fill="none" id="PostgreSQL-backto-developer" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="1403.7057,474.24,1412.7057,478.24,1408.7057,474.24,1412.7057,470.24,1403.7057,474.24" style="stroke:#181818;stroke-width:1.0;"/></g><!--link Listener to PostgreSQL--><g id="link_Listener_PostgreSQL"><path d="M792.89,206.73 C860.42,205.38 1275.47,200.57 1359.59,284.1 C1363.2006,287.685 1366.5018,291.5141 1369.5175,295.5455 C1370.2714,296.5533 1371.0075,297.5738 1371.7261,298.6063 C1371.9057,298.8644 1368.6981,294.1701 1368.8756,294.4298 " fill="none" id="Listener-to-PostgreSQL" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="1372.2618,299.3829,1370.4846,289.6957,1369.44,295.2553,1363.8804,294.2106,1372.2618,299.3829" style="stroke:#181818;stroke-width:1.0;"/></g><!--link Connection Pool to PostgreSQL--><g id="link_Connection Pool_PostgreSQL"><path d="M786.24,465.14 C790.66,450.87 800.7525,421.7975 817.4875,392.1288 C821.6713,384.7116 826.2702,377.2571 831.2994,369.9874 C833.814,366.3525 836.4362,362.7638 839.1678,359.249 C839.5093,358.8097 836.1353,363.0813 836.4802,362.6443 " fill="none" id="Connection Pool-to-PostgreSQL" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/><polygon fill="#181818" points="840.1973,357.9345,831.4817,362.5211,837.0997,361.8594,837.7615,367.4774,840.1973,357.9345" style="stroke:#181818;stroke-width:1.0;"/></g><!--link Auth to GMN55--><g id="link_Auth_GMN55"><path d="M273.14,497.75 C263.52,509.13 250.86,522.57 237.59,532.39 C210.61,552.36 175.7,568.37 150.49,578.49 " fill="none" id="Auth-GMN55" style="stroke:#181818;stroke-width:1.0;stroke-dasharray:7.0,7.0;"/></g><!--SRC=[ZLLDRzim3BthLn3kPGFcz1uK0uAiwm9aHPfuksH1eDXgBDIHN4dkqWxTRnyfVoPnrfuYatoF8lces0UfScxu3ZOyVjWQNQXah3Djm1ckBBg4SepbwEHR0S5CMxUTNo-Y0FumW0yVuLiKpO1R_pkQJT1OdG12M8uAbwxGLXuWD8FFUCxbN3mMmhhIrNvM0RECA-_oXyfuLmZpxAtb2UanVJ3MIedOIQrWfdKMm122Noxee8iGqOiu5JiEOuw_gs5XXQM80ojSUSQfj4ueOP38Y4ppnBAUIhzydzpwooSxYKdmZc4Tq_ZmQlToYpV8l6yydR2k-IeqVvjih6uSWI5SfZ99X5eXAy5EhXfcTKJO4BuHLTxq_q6KwvKnbd37DzpM0pTYSJSj9wvq8e26gOryuRxjP0RiLUouscQ8cUjCs4zmCn_THfzWFbtGD5vhS43QiFuA0RMJFayelXRApnHfVahnszOCdP28RtmQiSS6MehrT6v3aoNIC0dzL_tPgVEW0AgO5666B1LxlYKb6Rr_hemmC2YWqb9B-sg08orDRAXpORZJ59bWP2k1OuyN06ixYZI9U4ADvLvjNhQD-hpek-rdfr8_YIbPY8SnfPs0ZNPExq3V-vAf4_Y3AorZxWGsAnL0HM9V_G8oeH8Wu2cyML8acN5ZA_IF-HJiit9yVnvBUuYe6whBfvNA2QDu1gD5T1xcr_m0Hmcnp6E8qpd5Dwi4C9qiekjRm4kIC3hnXSbyDRGB82qibuF1fH7t0j-vMDXBJeurTkH9c47gTjc5juIbPRLg2504DLpiSopGIybUbi9UIwipR_4a7HoslpSlsgjyU58TGDFt_dpSnAbqg8h2Y8eWbs4rpfQ6Hl1U0dAsI3-5zq8V_SjyK6txJlHo99irLVnor2TSbRusnPai4-6X3JvTZ3ve4xFECUOudtz2p-3GKvXscXS7ffQZVRxVsQtKkVm8VavMRu6RPwEdWgpobRZwgwCDUiVwqwgjLFkZLWNTlu_ULbSx45D0cRIqXDw2JFy0]--></g></svg>