{"version":3,"sources":["webpack:///./src/pages/docs/Connecting to Databases/hologres.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","parentName","isMDXComponent"],"mappings":"wPAQaA,G,UAAe,S,qOAC5B,IAAMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAG5E,iBAAQ,CACN,GAAM,YADR,YAGA,2MACA,+DACA,sBACE,kBAAIC,WAAW,MAAK,sBAAQA,WAAW,MAAnB,aAApB,qDACA,kBAAIA,WAAW,MAAK,sBAAQA,WAAW,MAAnB,YAApB,yDACA,kBAAIA,WAAW,MAAK,sBAAQA,WAAW,MAAnB,iBAApB,mDACA,kBAAIA,WAAW,MAAK,sBAAQA,WAAW,MAAnB,iBAApB,wCACA,kBAAIA,WAAW,MAAK,sBAAQA,WAAW,MAAnB,QAApB,gDAEF,0DACA,uBAAK,gCAAMA,WAAW,OAAU,IAA3B,iF,mOAMTJ,EAAWK,gBAAiB","file":"component---src-pages-docs-connecting-to-databases-hologres-mdx-8f43fcc806ef559df97c.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\n\nimport DefaultLayout from \"/home/runner/work/superset/superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\nconst layoutProps = {\n  _frontmatter\n};\nconst MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...layoutProps} {...props} components={components} mdxType=\"MDXLayout\">\n\n\n    <h2 {...{\n      \"id\": \"hologres\"\n    }}>{`Hologres`}</h2>\n    <p>{`Hologres is a real-time interactive analytics service developed by Alibaba Cloud. It is fully compatible with PostgreSQL 11 and integrates seamlessly with the big data ecosystem.`}</p>\n    <p>{`Hologres sample connection parameters:`}</p>\n    <ul>\n      <li parentName=\"ul\"><strong parentName=\"li\">{`User Name`}</strong>{`: The AccessKey ID of your Alibaba Cloud account.`}</li>\n      <li parentName=\"ul\"><strong parentName=\"li\">{`Password`}</strong>{`: The AccessKey secret of your Alibaba Cloud account.`}</li>\n      <li parentName=\"ul\"><strong parentName=\"li\">{`Database Host`}</strong>{`: The public endpoint of the Hologres instance.`}</li>\n      <li parentName=\"ul\"><strong parentName=\"li\">{`Database Name`}</strong>{`: The name of the Hologres database.`}</li>\n      <li parentName=\"ul\"><strong parentName=\"li\">{`Port`}</strong>{`: The port number of the Hologres instance.`}</li>\n    </ul>\n    <p>{`The connection string looks like:`}</p>\n    <pre><code parentName=\"pre\" {...{}}>{`postgresql+psycopg2://{username}:{password}@{host}:{port}/{database}\n`}</code></pre>\n\n    </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}