{"id":1663,"date":"2019-02-20T00:00:00","date_gmt":"2019-02-20T08:00:00","guid":{"rendered":"https:\/\/azure.microsoft.com\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql"},"modified":"2025-06-17T01:47:04","modified_gmt":"2025-06-17T08:47:04","slug":"use-graphql-with-hasura-and-azure-database-for-postgresql","status":"publish","type":"post","link":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/","title":{"rendered":"Use GraphQL with Hasura and Azure Database for PostgreSQL"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/azure.microsoft.com\/services\/postgresql\/\" target=\"_blank\" rel=\"noopener\">Azure Database for PostgreSQL<\/a> provides a fully managed, enterprise-ready community PostgreSQL database as a service. The PostgreSQL community edition helps you easily migrate existing apps to the cloud or develop cloud-native applications, using languages and frameworks of your choice. The service offers industry leading innovations such as built-in high availability, backed with 99.99 percent SLA, without the need to set up replicas and enabling customers to save over two times the cost. The capability also allows customers to scale compute up or down in seconds, helping you easily adjust to changes in workload demands.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Additionally, built-in intelligent features such as Query Performance Insight and performance recommendations help customers further lower their total cost of ownership (TCO) by providing customized recommendations and insights to optimize the performance of their Postgres databases. These benefits coupled with unparalleled security and compliance, Microsoft Azure\u2019s industry leading global reach, and Azure IP Advantage, empower customers to focus on their business and applications rather than the database.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As part of the broader Postgres community, our aim is to contribute to and partner with others in the community to bring new features to Azure Database for PostgreSQL users. You can now take advantage of the Hasura GraphQL Engine, a lightweight, high performance open-source product that can instantly provide a real time GraphQL API on a Postgres database. This post provides an overview of how to use GraphQL with Azure Database for PostgreSQL.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-graphql\">What is GraphQL?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GraphQL is a query language for APIs and a server-side runtime for executing database queries. The GraphQL spec is centered around a typed schema that is available to users of the API, which are mostly front-end developers, to make any CRUD queries on the exposed fields. It\u2019s agnostic to the underlying database or source of data. One of GraphQL\u2019s main benefits is that clients can specify exactly what they need from the server and receive that data in a predictable way. GraphQL provides a solution to common hurdles faced when using REST APIs, and it is currently being adopted widely to speed up product development cycles.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"hasura-graphql-engine\">Hasura GraphQL Engine<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The <a href=\"https:\/\/github.com\/hasura\/graphql-engine\" target=\"_blank\" rel=\"noopener\">Hasura GraphQL Engine<\/a> is a lightweight, high performance open-source product that gives you a real time GraphQL API on a Postgres database instantly. The engine comes with an admin UI to help you explore your GraphQL APIs and manage your database schema and data.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hasura\u2019s GraphQL Engine also allows you to write custom resolvers with schema-stitching and to integrate serverless functions or microservice APIs that get triggered on database events. With Hasura\u2019s GraphQL, you can easily build <a href=\"https:\/\/3factor.app\/\" target=\"_blank\" rel=\"noopener\">3factor apps<\/a>. Learn more by reading about <a href=\"https:\/\/hasura.io\" target=\"_blank\" rel=\"noopener\">Hasura<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"using-graphql-with-azure-database-for-postgresql\">Using GraphQL with Azure Database for PostgreSQL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Please note, If you already have a database running on Azure and want to use GraphQL on that database, go directly to the &#8220;Working with GraphQL with an existing Azure Database for PostgreSQL&#8221; section below.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With the Hasura\u2019s GraphQL one-click deploy, you can now get a real time GraphQL API on Azure with Azure Database for PostgreSQL server in under five minutes!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Get started by selecting <strong>Deploy to Azure<\/strong> below, which will open the Azure portal in preparation for using GraphQL with Azure Database for PostgreSQL. If you are prompted to log in to the Azure portal, enter your credentials to continue.<\/p>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/cf3b5ff0-43fd-4698-a93f-90a6226f5948.webp\" alt=\"Deploy to Azure button\" style=\"border-radius:0px\" title=\"Deploy to Azure button\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This deployment uses Azure Container Instances for deploying Hasura\u2019s GraphQL and <a href=\"https:\/\/azure.microsoft.com\/services\/postgresql\/\" target=\"_blank\" rel=\"noopener\">Azure Database for PostgreSQL<\/a> for provisioning a managed Postgres instance.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"working-with-graphql-with-an-existing-azure-database-for-postgresql\">Working with GraphQL with an existing Azure Database for PostgreSQL<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you already have a PostgreSQL database on Azure, you can connect Hasura\u2019s GraphSQL to that database and have GraphQL APIs without affecting any other part of your application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Get started by selecting the <strong>Deploy to Azure<\/strong> graphic below, which will open the Azure portal in preparation for working with GraphQL and an existing Azure Database for PostgreSQL database. If you are prompted to log in to the Azure portal, enter your credentials to continue.<\/p>\n\n\n\n<figure class=\"wp-block-image has-custom-border\"><a href=\"https:\/\/portal.azure.com\/#create\/Microsoft.Template\/uri\/https%3a%2f%2fraw.githubusercontent.com%2fhasura%2fgraphql-engine%2fmaster%2finstall-manifests%2fazure-container%2fazuredeploy.json\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/45a9141b-2a2a-48c8-9cd7-19a90f0bbba5.webp\" alt=\"Deploy to Azure button\" style=\"border-radius:0px\" title=\"Deploy to Azure button\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">This deployment uses Azure Container Instances for deploying Hasura and connects to an existing <a href=\"https:\/\/azure.microsoft.com\/services\/postgresql\/\" target=\"_blank\" rel=\"noopener\">Azure Database for PostgreSQL instance<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-else-can-you-do-with-hasura-s-graphql-engine\">What else can you do with Hasura\u2019s GraphQL engine?<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"explore-the-ready-to-use-real-time-api\">Explore the ready to use real-time API<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Types and\/or operators such as SQL for sorting, filtering, pagination, and aggregations are supported out-of-the-box. Read more about Hasura\u2019s powerful syntax for <a href=\"https:\/\/docs.hasura.io\/1.0\/graphql\/manual\/queries\/index.html\" target=\"_blank\" rel=\"noopener\">queries<\/a> and <a href=\"https:\/\/docs.hasura.io\/1.0\/graphql\/manual\/mutations\/index.html\" target=\"_blank\" rel=\"noopener\">mutations<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Hasura also has built-in live-queries called <a href=\"https:\/\/docs.hasura.io\/1.0\/graphql\/manual\/subscriptions\/index.html\" target=\"_blank\" rel=\"noopener\">subscriptions in GraphQL<\/a>, for getting real-time updates to results of a query. No need to write any code for handling websocket connections!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"add-authorization\">Add authorization<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Hasura\u2019s granular, role-based permissions system lets you configure columns and row level access control rules for data that integrates with any third party. You can also integrate with your own custom authentication services using a JWT or webhook. You can learn more about adding authorization by visiting Hasura\u2019s documentation, \u201c<a href=\"https:\/\/docs.hasura.io\/1.0\/graphql\/manual\/auth\/index.html\" target=\"_blank\" rel=\"noopener\">Authentication \/ Access control<\/a>.\u201d<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"add-custom-business-logic\">Add custom business logic<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">GraphQL Engine can be used as a gateway for custom business logic like with <a href=\"https:\/\/docs.hasura.io\/1.0\/graphql\/manual\/remote-schemas\/index.html\" target=\"_blank\" rel=\"noopener\">Remote GraphQL schemas<\/a>. You can write your own GraphQL servers in your favorite language and expose them at a single endpoint. Hasura will take care of the schema stitching.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"trigger-azure-functions-on-database-events\">Trigger Azure Functions on database events<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Hasura can trigger serverless <a href=\"https:\/\/azure.microsoft.com\/en-us\/services\/functions\/\" target=\"_blank\" rel=\"noopener\">Azure Functions<\/a> or webhooks on database events like insert, update, or delete. They can be used to execute asynchronous business logic such as sending a \u201cwelcome email\u201d to newly registered users. Read more about triggering serverless Azure Functions and webhooks on the <a href=\"https:\/\/hasura.io\/event-triggers\" target=\"_blank\" rel=\"noopener\">Hasura website<\/a>, or visit Hasura\u2019s documentation, \u201c<a href=\"https:\/\/docs.hasura.io\/1.0\/graphql\/manual\/event-triggers\/index.html\" target=\"_blank\" rel=\"noopener\">Event triggers<\/a>.\u201d<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"next-steps\">Next steps<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Get started and create your <a href=\"https:\/\/aka.ms\/CreateazurePostgreSQLDB\" target=\"_blank\" rel=\"noopener\">PostgreSQL servers<\/a> today! Learn more about Azure Database for PostgreSQL in the overview documentation, \u201c<a href=\"https:\/\/docs.microsoft.com\/azure\/postgresql\/overview\" target=\"_blank\" rel=\"noopener\">What is Azure Database for PostgreSQL<\/a>.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Please continue to provide <a href=\"https:\/\/feedback.azure.com\/forums\/597976-azure-database-for-postgresql\" target=\"_blank\" rel=\"noopener\">UserVoice<\/a> feedback on the features and functionality that you want to see next. If you need any help or have questions please check out the, \u201c<a href=\"https:\/\/docs.microsoft.com\/en-us\/azure\/postgresql\/\" target=\"_blank\" rel=\"noopener\">Azure Database for PostgreSQL documentation<\/a>.\u201d<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For support and feedback related to Hasura, please use <a href=\"https:\/\/discord.gg\/3FNQnWj\" target=\"_blank\" rel=\"noopener\">Discord<\/a>. You can also follow Hasura\u2019s product updates at <a href=\"https:\/\/twitter.com\/hasurahq\" target=\"_blank\" rel=\"noopener\">@HasuraHQ<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"acknowledgements\">Acknowledgements<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Special thanks to the Hasura team for their contributions to this posting.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Azure Database for PostgreSQL provides a fully managed, enterprise-ready community PostgreSQL database as a service. The PostgreSQL Community edition helps you easily migrate existing apps to the cloud or develop cloud-native applications using languages and frameworks of your choice.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ms_queue_id":[],"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","_alt_title":"","footnotes":"","msx_community_cta_settings":[]},"categories":[1473,1466],"tags":[],"audience":[3057,3055,3056],"content-type":[],"product":[1565],"tech-community":[],"topic":[],"coauthors":[97],"class_list":["post-1663","post","type-post","status-publish","format-standard","hentry","category-databases","category-hybrid-multicloud","audience-data-professionals","audience-developers","audience-it-implementors","product-azure-database-for-postgresql","review-flag-1680286581-295","review-flag-and-o-1680286581-349","review-flag-integ-1680286579-214","review-flag-new-1680286579-546","review-flag-partn-1680286579-901","review-flag-percent"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Use GraphQL with Hasura and Azure Database for PostgreSQL | Microsoft Azure Blog<\/title>\n<meta name=\"description\" content=\"Azure Database for PostgreSQL provides a fully managed, enterprise-ready community PostgreSQL database as a service. The PostgreSQL Community edition helps you easily migrate existing apps to the cloud or develop cloud-native applications using languages and frameworks of your choice.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Use GraphQL with Hasura and Azure Database for PostgreSQL | Microsoft Azure Blog\" \/>\n<meta property=\"og:description\" content=\"Azure Database for PostgreSQL provides a fully managed, enterprise-ready community PostgreSQL database as a service. The PostgreSQL Community edition helps you easily migrate existing apps to the cloud or develop cloud-native applications using languages and frameworks of your choice.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft Azure Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/microsoftazure\" \/>\n<meta property=\"article:published_time\" content=\"2019-02-20T08:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-17T08:47:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/cf3b5ff0-43fd-4698-a93f-90a6226f5948.webp\" \/>\n<meta name=\"author\" content=\"Microsoft Azure\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@azure\" \/>\n<meta name=\"twitter:site\" content=\"@azure\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Microsoft Azure\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/\"},\"author\":[{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/\",\"@type\":\"Person\",\"@name\":\"Microsoft Azure\"}],\"headline\":\"Use GraphQL with Hasura and Azure Database for PostgreSQL\",\"datePublished\":\"2019-02-20T08:00:00+00:00\",\"dateModified\":\"2025-06-17T08:47:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/\"},\"wordCount\":1013,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/cf3b5ff0-43fd-4698-a93f-90a6226f5948.webp\",\"articleSection\":[\"Databases\",\"Hybrid + multicloud\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/\",\"name\":\"Use GraphQL with Hasura and Azure Database for PostgreSQL | Microsoft Azure Blog\",\"isPartOf\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/cf3b5ff0-43fd-4698-a93f-90a6226f5948.webp\",\"datePublished\":\"2019-02-20T08:00:00+00:00\",\"dateModified\":\"2025-06-17T08:47:04+00:00\",\"description\":\"Azure Database for PostgreSQL provides a fully managed, enterprise-ready community PostgreSQL database as a service. The PostgreSQL Community edition helps you easily migrate existing apps to the cloud or develop cloud-native applications using languages and frameworks of your choice.\",\"breadcrumb\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#primaryimage\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/cf3b5ff0-43fd-4698-a93f-90a6226f5948.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/cf3b5ff0-43fd-4698-a93f-90a6226f5948.webp\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog home\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Databases\",\"item\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/databases\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Use GraphQL with Hasura and Azure Database for PostgreSQL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#website\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"name\":\"Microsoft Azure Blog\",\"description\":\"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.\",\"publisher\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization\",\"name\":\"Microsoft Azure Blog\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"contentUrl\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp\",\"width\":512,\"height\":512,\"caption\":\"Microsoft Azure Blog\"},\"image\":{\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/microsoftazure\",\"https:\/\/x.com\/azure\",\"https:\/\/www.instagram.com\/microsoftdeveloper\/\",\"https:\/\/www.linkedin.com\/company\/16188386\",\"https:\/\/www.youtube.com\/user\/windowsazure\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117\",\"name\":\"shakir\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g\",\"caption\":\"shakir\"},\"sameAs\":[\"https:\/\/azure.microsoft.com\"],\"url\":\"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Use GraphQL with Hasura and Azure Database for PostgreSQL | Microsoft Azure Blog","description":"Azure Database for PostgreSQL provides a fully managed, enterprise-ready community PostgreSQL database as a service. The PostgreSQL Community edition helps you easily migrate existing apps to the cloud or develop cloud-native applications using languages and frameworks of your choice.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/","og_locale":"en_US","og_type":"article","og_title":"Use GraphQL with Hasura and Azure Database for PostgreSQL | Microsoft Azure Blog","og_description":"Azure Database for PostgreSQL provides a fully managed, enterprise-ready community PostgreSQL database as a service. The PostgreSQL Community edition helps you easily migrate existing apps to the cloud or develop cloud-native applications using languages and frameworks of your choice.","og_url":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/","og_site_name":"Microsoft Azure Blog","article_publisher":"https:\/\/www.facebook.com\/microsoftazure","article_published_time":"2019-02-20T08:00:00+00:00","article_modified_time":"2025-06-17T08:47:04+00:00","og_image":[{"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/cf3b5ff0-43fd-4698-a93f-90a6226f5948.webp","type":"","width":"","height":""}],"author":"Microsoft Azure","twitter_card":"summary_large_image","twitter_creator":"@azure","twitter_site":"@azure","twitter_misc":{"Written by":"Microsoft Azure","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#article","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/"},"author":[{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/microsoft-azure\/","@type":"Person","@name":"Microsoft Azure"}],"headline":"Use GraphQL with Hasura and Azure Database for PostgreSQL","datePublished":"2019-02-20T08:00:00+00:00","dateModified":"2025-06-17T08:47:04+00:00","mainEntityOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/"},"wordCount":1013,"commentCount":0,"publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/cf3b5ff0-43fd-4698-a93f-90a6226f5948.webp","articleSection":["Databases","Hybrid + multicloud"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/","name":"Use GraphQL with Hasura and Azure Database for PostgreSQL | Microsoft Azure Blog","isPartOf":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#primaryimage"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#primaryimage"},"thumbnailUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/cf3b5ff0-43fd-4698-a93f-90a6226f5948.webp","datePublished":"2019-02-20T08:00:00+00:00","dateModified":"2025-06-17T08:47:04+00:00","description":"Azure Database for PostgreSQL provides a fully managed, enterprise-ready community PostgreSQL database as a service. The PostgreSQL Community edition helps you easily migrate existing apps to the cloud or develop cloud-native applications using languages and frameworks of your choice.","breadcrumb":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#primaryimage","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/cf3b5ff0-43fd-4698-a93f-90a6226f5948.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2019\/02\/cf3b5ff0-43fd-4698-a93f-90a6226f5948.webp"},{"@type":"BreadcrumbList","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/use-graphql-with-hasura-and-azure-database-for-postgresql\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog home","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/"},{"@type":"ListItem","position":2,"name":"Databases","item":"https:\/\/azure.microsoft.com\/en-us\/blog\/category\/databases\/"},{"@type":"ListItem","position":3,"name":"Use GraphQL with Hasura and Azure Database for PostgreSQL"}]},{"@type":"WebSite","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#website","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","name":"Microsoft Azure Blog","description":"Get the latest Azure news, updates, and announcements from the Azure blog. From product updates to hot topics, hear from the Azure experts.","publisher":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/azure.microsoft.com\/en-us\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#organization","name":"Microsoft Azure Blog","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","contentUrl":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-content\/uploads\/2024\/06\/microsoft_logo.webp","width":512,"height":512,"caption":"Microsoft Azure Blog"},"image":{"@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/microsoftazure","https:\/\/x.com\/azure","https:\/\/www.instagram.com\/microsoftdeveloper\/","https:\/\/www.linkedin.com\/company\/16188386","https:\/\/www.youtube.com\/user\/windowsazure"]},{"@type":"Person","@id":"https:\/\/azure.microsoft.com\/en-us\/blog\/#\/schema\/person\/c702e5edd662b328b49b7e1180cab117","name":"shakir","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g7664e653ea371ce16eaf75e9fa8952c4","url":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9342c7c05bb16548741bc5cd3a3e3b7ee0c8e746844ad2cc582db5beb5514c6f?s=96&d=mm&r=g","caption":"shakir"},"sameAs":["https:\/\/azure.microsoft.com"],"url":"https:\/\/azure.microsoft.com\/en-us\/blog\/author\/shakir\/"}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"distributor_meta":false,"distributor_terms":false,"distributor_media":false,"distributor_original_site_name":"Microsoft Azure Blog","distributor_original_site_url":"https:\/\/azure.microsoft.com\/en-us\/blog","push-errors":false,"_links":{"self":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1663","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/comments?post=1663"}],"version-history":[{"count":1,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1663\/revisions"}],"predecessor-version":[{"id":42031,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/posts\/1663\/revisions\/42031"}],"wp:attachment":[{"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/media?parent=1663"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/categories?post=1663"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tags?post=1663"},{"taxonomy":"audience","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/audience?post=1663"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/content-type?post=1663"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/product?post=1663"},{"taxonomy":"tech-community","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/tech-community?post=1663"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/topic?post=1663"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/azure.microsoft.com\/en-us\/blog\/wp-json\/wp\/v2\/coauthors?post=1663"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}