{"version":3,"sources":["webpack:///./src/pages/docs/Connecting to Databases/redshift.mdx"],"names":["_frontmatter","MDXLayout","DefaultLayout","MDXContent","components","props","mdxType","isMDXComponent"],"mappings":"wPAMaA,G,UAAe,S,qOAE5B,IAKMC,EAAYC,IACH,SAASC,EAAT,GAGZ,IAFDC,EAEC,EAFDA,WACGC,EACF,8BACD,OAAO,YAACJ,EAAD,eAAeI,EAAf,CAAsBD,WAAYA,EAAYE,QAAQ,cAC3D,iBAAQ,CACN,GAAM,gBADR,gBAGA,4BACE,gBAAO,CACL,KAAQ,gDACR,WAAc,KAFhB,uBADF,+EAOA,mGACA,sBAEE,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,aAFH,cAQA,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,YAFH,gBAQA,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,iBAFH,kBAQA,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,iBAFH,mBAQA,iBAAQ,CACN,WAAc,MACb,qBAAY,CACX,WAAc,MADf,QAFH,mBAQF,sEACA,uBAAK,mBAAU,CACX,WAAc,OADb,6F,mOAQTH,EAAWI,gBAAiB","file":"component---src-pages-docs-connecting-to-databases-redshift-mdx-bc3809141db91cc93ae4.js","sourcesContent":["import * as React from 'react'\n  /* @jsx mdx */\nimport { mdx } from '@mdx-js/react';\n/* @jsx mdx */\n\nimport DefaultLayout from \"/Users/max/code/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 MDXLayout = DefaultLayout;\nexport default function MDXContent({\n  components,\n  ...props\n}) {\n  return <MDXLayout {...props} components={components} mdxType=\"MDXLayout\">\n    <h2 {...{\n      \"id\": \"aws-redshift\"\n    }}>{`AWS Redshift`}</h2>\n    <p>{`The `}\n      <a {...{\n        \"href\": \"https://pypi.org/project/sqlalchemy-redshift/\",\n        \"parentName\": \"p\"\n      }}>{`sqlalchemy-redshift`}</a>\n      {` library is the recommended\nway to connect to Redshift through SQLAlchemy.`}</p>\n    <p>{`You'll need to the following setting values to form the connection string:`}</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        {`: AWS Endpoint`}</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 5439`}</li>\n\n    </ul>\n    <p>{`Here's what the connection string looks like:`}</p>\n    <pre><code {...{\n        \"parentName\": \"pre\"\n      }}>{`redshift+psycopg2://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>\n`}</code></pre>\n\n  </MDXLayout>;\n}\n;\nMDXContent.isMDXComponent = true;\n      "],"sourceRoot":""}