1---2name: azure-horizondb3description: Expert knowledge for Azure Horizondb development including troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. Use when using azure_ai SQL/embeddings, pgvector tuning, Apache AGE graphs, hybrid BM25+vector search, or LangChain, and other Azure Horizondb related development tasks. Not for Azure Cosmos DB (use azure-cosmos-db).4---5# Azure Horizondb Skill
6
7This skill provides expert guidance for Azure Horizondb. Covers troubleshooting, best practices, decision making, architecture & design patterns, limits & quotas, security, configuration, integrations & coding patterns, and deployment. It combines local quick-reference content with remote documentation fetching capabilities.
8
9## How to Use This Skill
10
11> **IMPORTANT for Agent**: Use the **Category Index** below to locate relevant sections. For categories with line ranges (e.g., `L35-L120`), use `read_file` with the specified lines. For categories with file links (e.g., `[security.md](security.md)`), use `read_file` on the linked reference file
12
13> **IMPORTANT for Agent**: If `metadata.generated_at` is more than 3 months old, suggest the user pull the latest version from the repository. If `mcp_microsoftdocs` tools are not available, suggest the user install it: [Installation Guide](https://github.com/MicrosoftDocs/mcp/blob/main/README.md)
14
15This skill requires **network access** to fetch documentation content:
16- **Preferred**: Use `mcp_microsoftdocs:microsoft_docs_fetch` with query string `from=learn-agent-skill`. Returns Markdown.
17- **Fallback**: Use `fetch_webpage` with query string `from=learn-agent-skill&accept=text/markdown`. Returns Markdown.
18
19## Category Index
20
21| Category | Lines | Description |
22|----------|-------|-------------|
23| Troubleshooting | L37-L44 | Diagnosing and fixing HorizonDB issues: extension management errors, TLS/cert rotation failures, autovacuum tuning, and transaction ID wraparound prevention. |
24| Best Practices | L45-L55 | Performance and operations guidance for HorizonDB: data prep for AI, pgvector tuning, partitioning, extensions, Apache AGE, Query Store, and cluster maintenance best practices. |
25| Decision Making | L56-L61 | Guidance on choosing between vector, full-text, and hybrid search in HorizonDB, and selecting the optimal vector index type for your data, queries, and performance needs. |
26| Architecture & Design Patterns | L62-L67 | Patterns for building RAG with graph data in HorizonDB and implementing hybrid BM25+vector search, including design choices and query strategies. |
27| Limits & Quotas | L68-L73 | Managing HorizonDB replica counts, read-scale limits, and how to request quota or limit increases for HorizonDB resources. |
28| Security | L74-L88 | Configuring HorizonDB security: TLS/SSL and certificates, SCRAM auth, access control/roles, users/permissions, data-at-rest encryption, deletion protection, and admin password resets. |
29| Configuration | L89-L165 | Configuring HorizonDB clusters: AI models/pipelines, search/vector indexes, extensions, networking/firewalls, HA/replication, connection/auth, performance, logging, WAL, and resource tuning. |
30| Integrations & Coding Patterns | L166-L178 | Using HorizonDB with AI: azure_ai SQL/embedding/rerank functions, LangChain vector store, building knowledge graphs, and integrating/moving data via the Azure Storage extension. |
31| Deployment | L179-L182 | Guides for migrating data by dumping PostgreSQL databases and restoring them into HorizonDB, including required tools, commands, and compatibility considerations. |
32
33### Troubleshooting
34| Topic | URL |
35|-------|-----|
36| Resolve common HorizonDB extension management errors | https://learn.microsoft.com/en-us/azure/horizondb/extensions/errors-extensions |
37| Troubleshoot TLS connection failures after HorizonDB cert rotation | https://learn.microsoft.com/en-us/azure/horizondb/security/security-tls-troubleshoot |
38| Monitor and tune autovacuum in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/troubleshoot/how-to-autovacuum-monitor-tune |
39| Prevent and resolve transaction ID wraparound in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/troubleshoot/how-to-prevent-resolve-wraparound |
40
41### Best Practices
42| Topic | URL |
43|-------|-----|
44| Prepare data in HorizonDB for AI apps and agents | https://learn.microsoft.com/en-us/azure/horizondb/ai/ai-data-preparation |
45| Optimize pgvector performance in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/ai/optimize-pgvector-performance |
46| Plan and manage scheduled maintenance for HorizonDB clusters | https://learn.microsoft.com/en-us/azure/horizondb/configure-maintain/concepts-maintenance |
47| Optimize HorizonDB with pg_partman partitioning | https://learn.microsoft.com/en-us/azure/horizondb/configure-maintain/how-to-use-pg-partman |
48| Apply HorizonDB-specific considerations when using extensions | https://learn.microsoft.com/en-us/azure/horizondb/extensions/concepts-extensions-considerations |
49| Apply Apache AGE performance best practices | https://learn.microsoft.com/en-us/azure/horizondb/graph/age-performance |
50| Apply Query Store best practices in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/monitor/concepts-query-store-best-practices |
51
52### Decision Making
53| Topic | URL |
54|-------|-----|
55| Choose vector vs full-text vs hybrid search | https://learn.microsoft.com/en-us/azure/horizondb/ai/ai-search-overview |
56| Select the right HorizonDB vector index | https://learn.microsoft.com/en-us/azure/horizondb/ai/vector-index-selection-guide |
57
58### Architecture & Design Patterns
59| Topic | URL |
60|-------|-----|
61| Design graph-augmented RAG in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/ai/graph-rag |
62| Implement hybrid search with BM25 and vectors | https://learn.microsoft.com/en-us/azure/horizondb/ai/hybrid-search |
63
64### Limits & Quotas
65| Topic | URL |
66|-------|-----|
67| Manage HorizonDB replicas and read-scale limits | https://learn.microsoft.com/en-us/azure/horizondb/configure-maintain/how-to-add-remove-replica |
68| Request HorizonDB resource quota and limit increases | https://learn.microsoft.com/en-us/azure/horizondb/configure-maintain/how-to-request-quota-increase |
69
70### Security
71| Topic | URL |
72|-------|-----|
73| Enable deletion protection for HorizonDB clusters | https://learn.microsoft.com/en-us/azure/horizondb/configure-maintain/how-to-enable-deletion-protection |
74| Manage SSL configuration parameters for HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-connections-authentication-ssl |
75| Configure TLS security parameters in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-tls |
76| Configure access control and roles in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/security/security-access-control |
77| Configure SCRAM authentication for HorizonDB connections | https://learn.microsoft.com/en-us/azure/horizondb/security/security-connect-scram |
78| Understand data-at-rest encryption in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/security/security-data-encryption |
79| Manage database users and permissions in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/security/security-manage-database-users |
80| Reset administrator password in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/security/security-reset-admin-password |
81| TLS requirements and encryption behavior in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/security/security-tls |
82| Configure TLS/SSL client connections to HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/security/security-tls-how-to-connect |
83| Update trusted root certificates for HorizonDB clients | https://learn.microsoft.com/en-us/azure/horizondb/security/security-update-trusted-root-java |
84
85### Configuration
86| Topic | URL |
87|-------|-----|
88| Configure AI Model Management (AIMM) in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/ai/ai-model-management |
89| Define and run AI pipelines in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/ai/ai-pipelines |
90| Configure pg_textsearch BM25 search in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/ai/full-text-search |
91| Configure DiskANN vector indexing in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/ai/vector-index-diskann |
92| Enable and configure pgvector in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/ai/vector-search-pgvector |
93| Use point-in-time restore for HorizonDB clusters | https://learn.microsoft.com/en-us/azure/horizondb/backup-restore/how-to-restore-custom-restore-point |
94| Configure pg_durable workflows in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/development/durable-functions |
95| HorizonDB PostgreSQL extensions by engine version | https://learn.microsoft.com/en-us/azure/horizondb/extensions/concepts-extensions-by-engine |
96| Catalog of supported HorizonDB extensions and modules | https://learn.microsoft.com/en-us/azure/horizondb/extensions/concepts-extensions-versions |
97| Allowlist and configure HorizonDB extensions | https://learn.microsoft.com/en-us/azure/horizondb/extensions/how-to-allow-extensions |
98| Configure Azure Storage extension settings in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/extensions/how-to-configure-azure-storage-extension |
99| Create extensions in Azure HorizonDB clusters | https://learn.microsoft.com/en-us/azure/horizondb/extensions/how-to-create-extensions |
100| Drop extensions safely in HorizonDB clusters | https://learn.microsoft.com/en-us/azure/horizondb/extensions/how-to-drop-extensions |
101| Configure shared_preload_libraries in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/extensions/how-to-load-libraries |
102| Update extensions in Azure HorizonDB instances | https://learn.microsoft.com/en-us/azure/horizondb/extensions/how-to-update-extensions |
103| List installed extensions and versions in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/extensions/how-to-view-installed-extensions |
104| Enable and manage high availability in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/high-availability/how-to-configure-high-availability |
105| Perform planned and forced failover in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/high-availability/how-to-perform-failover |
106| Understand HorizonDB public access networking model | https://learn.microsoft.com/en-us/azure/horizondb/network/concepts-network-public |
107| Configure networking and connectivity for HorizonDB clusters | https://learn.microsoft.com/en-us/azure/horizondb/network/how-to-network |
108| Add public access firewall rules for HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/network/how-to-network-cluster-public-access-add-firewall |
109| Delete HorizonDB firewall rules for public access | https://learn.microsoft.com/en-us/azure/horizondb/network/how-to-network-cluster-public-access-delete-firewall |
110| List existing firewall rules on HorizonDB clusters | https://learn.microsoft.com/en-us/azure/horizondb/network/how-to-network-cluster-public-access-list-firewall |
111| Update HorizonDB firewall rule IP ranges and metadata | https://learn.microsoft.com/en-us/azure/horizondb/network/how-to-network-cluster-public-access-update-firewall |
112| Configure adaptive autovacuum parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-adaptive-autovacuum |
113| Tune autovacuum parameters for HorizonDB clusters | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-autovacuum |
114| Configure other client connection defaults in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-client-connection-defaults-defaults |
115| Set client locale and formatting defaults in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-client-connection-defaults-locale-formatting |
116| Manage shared library preloading parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-client-connection-defaults-shared-library-preload |
117| Adjust statement behavior defaults for HorizonDB clients | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-client-connection-defaults-statement-behavior |
118| Configure authentication parameters for HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-connections-authentication-authentication |
119| Configure HorizonDB connection settings and max_connections | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-connections-authentication-connection-settings |
120| Tune TCP settings parameters for HorizonDB connections | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-connections-authentication-tcp-settings |
121| Use customized options parameters like blob_block_size_mb | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-customized-options |
122| Configure developer options parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-developer-options |
123| Set error handling parameters for HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-error-handling |
124| Configure file location parameters for HorizonDB storage | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-file-locations |
125| Adjust intelligent tuning parameters for HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-intelligent-tuning |
126| Manage lock management parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-lock-management |
127| Configure metrics collection parameters for HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-metrics |
128| Set migration-related parameters for HorizonDB clusters | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-migration |
129| Configure PgBouncer parameters for Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-pgbouncer |
130| Tune preset options parameters in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-preset-options |
131| Manage process title parameters in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-process-title |
132| Configure genetic query optimizer parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-query-tuning-genetic-query-optimizer |
133| Configure planner cost constants in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-query-tuning-planner-cost-constants |
134| Control planner method configuration in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-query-tuning-planner-method-configuration |
135| Adjust planner option parameters for HorizonDB queries | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-query-tuning-planner-options |
136| Set replication master server parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-replication-master-server |
137| Understand primary replication parameters availability in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-replication-primary-server |
138| Configure replication slots for HorizonDB high availability | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-replication-sending-servers |
139| Manage standby server replication parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-replication-standby-servers |
140| Configure replication subscriber parameters in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-replication-subscribers |
141| Control logging content with HorizonDB parameters | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-reporting-logging-what-log |
142| Configure logging frequency and timing in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-reporting-logging-when-log |
143| Set logging destinations with HorizonDB parameters | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-reporting-logging-where-log |
144| Tune asynchronous behavior resource usage in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-resource-usage-asynchronous-behavior |
145| Configure background writer resource usage in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-resource-usage-background-writer |
146| Adjust cost-based vacuum delay parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-resource-usage-cost-based-vacuum-delay |
147| Manage disk-related resource usage parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-resource-usage-disk |
148| Configure kernel resource usage parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-resource-usage-kernel-resources |
149| Configure memory and huge pages usage in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-resource-usage-memory |
150| Configure cumulative query and index statistics in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-statistics-cumulative-query-index-statistics |
151| Configure monitoring statistics parameters in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-statistics-monitoring |
152| Understand statistics collector parameter availability in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-statistics-query-index-statistics-collector |
153| Configure platform and client compatibility parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-version-platform-compatibility-platforms-clients |
154| Manage compatibility parameters for previous PostgreSQL versions | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-version-platform-compatibility-postgresql-versions |
155| Configure archive recovery write-ahead log parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-write-ahead-log-archive-recovery |
156| Set WAL archiving parameters in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-write-ahead-log-archiving |
157| Configure WAL checkpoint size parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-write-ahead-log-checkpoints |
158| Manage WAL recovery parameters in Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-write-ahead-log-recovery |
159| Configure WAL recovery target parameters in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-write-ahead-log-recovery-target |
160| Tune WAL buffer settings for Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/parameters/parameters-write-ahead-log-settings |
161
162### Integrations & Coding Patterns
163| Topic | URL |
164|-------|-----|
165| Integrate AI frameworks with Azure HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/ai/ai-frameworks |
166| Use azure_ai SQL functions for GenAI in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/ai/ai-functions |
167| Build knowledge graphs from text with HorizonDB AI | https://learn.microsoft.com/en-us/azure/horizondb/ai/build-knowledge-graph |
168| Use HorizonDB as LangChain vector store | https://learn.microsoft.com/en-us/azure/horizondb/ai/develop-with-langchain |
169| Use create_embeddings() AI function in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/ai/generate-vector-embeddings |
170| Apply azure_ai.rank() semantic reranking in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/ai/semantic-rank-function |
171| Use Azure Storage extension to move data with HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/extensions/concepts-storage-extension |
172| Run quickstart examples for HorizonDB Azure Storage extension | https://learn.microsoft.com/en-us/azure/horizondb/extensions/quickstart-azure-storage-extension |
173| Use Azure Storage extension functions in HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/extensions/reference-azure-storage-extension |
174
175### Deployment
176| Topic | URL |
177|-------|-----|
178| Dump and restore PostgreSQL databases to HorizonDB | https://learn.microsoft.com/en-us/azure/horizondb/migrate/how-to-migrate-dump-restore |