{"version":3,"sources":["webpack:///./src/pages/docs/Connecting to Databases/vertica.mdx"],"names":["_frontmatter","layoutProps","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,oOAE5B,IAKMC,EAAc,CAClBD,gBAEIE,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeD,EAAiBK,EAAhC,CAAuCD,WAAYA,EAAYE,QAAQ,cAC5E,iBAAQ,CACN,GAAM,WADR,WAGA,8DAEE,gBAAO,CACL,KAAQ,sDACR,WAAc,KAFhB,6BAFF,UAQE,gBAAO,CACL,KAAQ,0BACR,WAAc,KAFhB,WARF,+BAaA,sBAEE,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,cAFH,aAQA,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,aAFH,eAQA,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,kBAGD,iBAAQ,CACN,WAAc,MAGd,iBAAQ,CACN,WAAc,MADhB,0CAKA,iBAAQ,CACN,WAAc,MADhB,yCAKA,iBAAQ,CACN,WAAc,MADhB,wCAOJ,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,kBAFH,kBAQA,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,SAFH,kBAQF,uEACA,uBAAK,mBAAU,CACX,WAAc,OADb,uEAIL,0CACA,sBAEE,iBAAQ,CACN,WAAc,MADhB,sC,kOASNH,EAAWI,gBAAiB","file":"component---src-pages-docs-connecting-to-databases-vertica-mdx-bb5ea245530ad087e7a4.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/srinify/Documents/incubator-superset/docs/node_modules/gatsby-theme-docz/src/base/Layout.js\";\nexport const _frontmatter = {};\n\nconst makeShortcode = name => function MDXDefaultShortcode(props) {\n  console.warn(\"Component \" + name + \" was not imported, exported, or provided by MDXProvider as global scope\");\n  return <div {...props} />;\n};\n\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    <h2 {...{\n      \"id\": \"vertica\"\n    }}>{`Vertica`}</h2>\n    <p>{`The recommended connector library is\n`}\n      <a {...{\n        \"href\": \"https://pypi.org/project/sqlalchemy-vertica-python/\",\n        \"parentName\": \"p\"\n      }}>{`sqlalchemy-vertica-python`}</a>\n      {`. The\n`}\n      <a {...{\n        \"href\": \"http://www.vertica.com/\",\n        \"parentName\": \"p\"\n      }}>{`Vertica`}</a>\n      {` connection parameters are:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><strong {...{\n          \"parentName\": \"li\"\n        }}>{`User Name:`}</strong>\n        {` UserName`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><strong {...{\n          \"parentName\": \"li\"\n        }}>{`Password:`}</strong>\n        {` DBPassword`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><strong {...{\n          \"parentName\": \"li\"\n        }}>{`Database Host:`}</strong>\n        <ul {...{\n          \"parentName\": \"li\"\n        }}>\n\n          <li {...{\n            \"parentName\": \"ul\"\n          }}>{`For Localhost : localhost or 127.0.0.1`}</li>\n\n\n          <li {...{\n            \"parentName\": \"ul\"\n          }}>{`For On Prem : IP address or Host name`}</li>\n\n\n          <li {...{\n            \"parentName\": \"ul\"\n          }}>{`For Cloud: IP Address or Host Name`}</li>\n\n        </ul></li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><strong {...{\n          \"parentName\": \"li\"\n        }}>{`Database Name:`}</strong>\n        {` Database Name`}</li>\n\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}><strong {...{\n          \"parentName\": \"li\"\n        }}>{`Port:`}</strong>\n        {` default 5433`}</li>\n\n    </ul>\n    <p>{`The connection string is formatted as follows:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`vertica+vertica_python://{username}:{password}@{host}/{database}\n`}</code></pre>\n    <p>{`Other parameters:`}</p>\n    <ul>\n\n      <li {...{\n        \"parentName\": \"ul\"\n      }}>{`Load Balancer - Backup Host`}</li>\n\n    </ul>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}