(window.webpackJsonp=window.webpackJsonp||[]).push([[33],{ntgN:function(e,t,n){"use strict";n.r(t),n.d(t,"_frontmatter",(function(){return b})),n.d(t,"default",(function(){return l}));var a=n("wx14"),r=n("zLVn"),o=(n("q1tI"),n("7ljp")),s=n("hhGP"),b=(n("qKvR"),{});void 0!==b&&b&&b===Object(b)&&Object.isExtensible(b)&&!b.hasOwnProperty("__filemeta")&&Object.defineProperty(b,"__filemeta",{configurable:!0,value:{name:"_frontmatter",filename:"src/pages/docs/Connecting to Databases/redshift.mdx"}});var c={_frontmatter:b},i=s.a;function l(e){var t=e.components,n=Object(r.a)(e,["components"]);return Object(o.b)(i,Object(a.a)({},c,n,{components:t,mdxType:"MDXLayout"}),Object(o.b)("h2",{id:"aws-redshift"},"AWS Redshift"),Object(o.b)("p",null,"The ",Object(o.b)("a",{href:"https://pypi.org/project/sqlalchemy-redshift/",parentName:"p"},"sqlalchemy-redshift")," library is the recommended\nway to connect to Redshift through SQLAlchemy."),Object(o.b)("p",null,"You'll need to the following setting values to form the connection string:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},"User Name"),": userName"),Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},"Password"),": DBPassword"),Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},"Database Host"),": AWS Endpoint"),Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},"Database Name"),": Database Name"),Object(o.b)("li",{parentName:"ul"},Object(o.b)("strong",{parentName:"li"},"Port"),": default 5439")),Object(o.b)("p",null,"Here's what the connection string looks like:"),Object(o.b)("pre",null,Object(o.b)("code",{parentName:"pre"},"redshift+psycopg2://<userName>:<DBPassword>@<AWS End Point>:5439/<Database Name>\n")))}void 0!==l&&l&&l===Object(l)&&Object.isExtensible(l)&&!l.hasOwnProperty("__filemeta")&&Object.defineProperty(l,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/Connecting to Databases/redshift.mdx"}}),l.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-connecting-to-databases-redshift-mdx-b67416304a0e2047cbd7.js.map