(window.webpackJsonp=window.webpackJsonp||[]).push([[42],{YMpH:function(e,t,a){"use strict";a.r(t),a.d(t,"_frontmatter",(function(){return b})),a.d(t,"default",(function(){return s}));var r=a("k1TG"),n=a("8o2o"),o=(a("q1tI"),a("7ljp")),c=a("hhGP"),b=(a("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/vertica.mdx"}});var l=c.a;function s(e){var t=e.components,a=Object(n.a)(e,["components"]);return Object(o.b)(l,Object(r.a)({},a,{components:t,mdxType:"MDXLayout"}),Object(o.b)("h2",{id:"vertica"},"Vertica"),Object(o.b)("p",null,"The recommended connector library is\n",Object(o.b)("a",{href:"https://pypi.org/project/sqlalchemy-vertica-python/",parentName:"p"},"sqlalchemy-vertica-python"),". The\n",Object(o.b)("a",{href:"http://www.vertica.com/",parentName:"p"},"Vertica")," connection parameters are:"),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:"),Object(o.b)("ul",{parentName:"li"},Object(o.b)("li",{parentName:"ul"},"For Localhost : localhost or 127.0.0.1"),Object(o.b)("li",{parentName:"ul"},"For On Prem : IP address or Host name"),Object(o.b)("li",{parentName:"ul"},"For Cloud: IP Address or Host Name"))),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 5433")),Object(o.b)("p",null,"The connection string is formatted as follows:"),Object(o.b)("pre",null,Object(o.b)("code",{parentName:"pre"},"vertica+vertica_python://{username}:{password}@{host}/{database}\n")),Object(o.b)("p",null,"Other parameters:"),Object(o.b)("ul",null,Object(o.b)("li",{parentName:"ul"},"Load Balancer - Backup Host")))}void 0!==s&&s&&s===Object(s)&&Object.isExtensible(s)&&!s.hasOwnProperty("__filemeta")&&Object.defineProperty(s,"__filemeta",{configurable:!0,value:{name:"MDXContent",filename:"src/pages/docs/Connecting to Databases/vertica.mdx"}}),s.isMDXComponent=!0}}]);
//# sourceMappingURL=component---src-pages-docs-connecting-to-databases-vertica-mdx-9efe4f0209f48b21cc80.js.map