[{"data":1,"prerenderedAt":836},["ShallowReactive",2],{"navigation_docs":3,"-databases-connect-database":212,"-databases-connect-database-surround":831},[4,21,89,125,152,183,202,207],{"title":5,"collapsed":6,"path":7,"stem":8,"children":9,"page":20},"Getting Started",true,"/getting-started","1.getting-started",[10,15],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","/getting-started/introduction","1.getting-started/introduction","i-lucide-info",{"title":16,"path":17,"stem":18,"icon":19},"Service Tiers","/getting-started/service-tiers","1.getting-started/service-tiers","i-lucide-layers",false,{"title":22,"collapsed":6,"path":23,"stem":24,"children":25,"page":20},"Containers","/containers","2.containers",[26,56],{"title":27,"path":28,"stem":29,"children":30,"page":20},"Kubernetes","/containers/kubernetes","2.containers/1.kubernetes",[31,36,41,46,51],{"title":32,"path":33,"stem":34,"icon":35},"Overview","/containers/kubernetes/overview","2.containers/1.kubernetes/1.overview","i-lucide-box",{"title":37,"path":38,"stem":39,"icon":40},"Create a Cluster","/containers/kubernetes/create-cluster","2.containers/1.kubernetes/2.create-cluster","i-lucide-plus-circle",{"title":42,"path":43,"stem":44,"icon":45},"Connect to Your Cluster","/containers/kubernetes/connect-cluster","2.containers/1.kubernetes/3.connect-cluster","i-lucide-link",{"title":47,"path":48,"stem":49,"icon":50},"Node Groups","/containers/kubernetes/node-groups","2.containers/1.kubernetes/4.node-groups","i-lucide-server",{"title":52,"path":53,"stem":54,"icon":55},"Ingress & Domains","/containers/kubernetes/ingress-domains","2.containers/1.kubernetes/5.ingress-domains","i-lucide-globe",{"title":57,"path":58,"stem":59,"children":60,"page":20},"Container Registry","/containers/container-registry","2.containers/2.container-registry",[61,65,69,74,79,84],{"title":32,"path":62,"stem":63,"icon":64},"/containers/container-registry/overview","2.containers/2.container-registry/1.overview","i-lucide-package",{"title":66,"path":67,"stem":68,"icon":40},"Create a Registry","/containers/container-registry/create-registry","2.containers/2.container-registry/2.create-registry",{"title":70,"path":71,"stem":72,"icon":73},"Push Images to Registry","/containers/container-registry/push-images","2.containers/2.container-registry/3.push-images","i-lucide-upload",{"title":75,"path":76,"stem":77,"icon":78},"Pull Images from Registry","/containers/container-registry/pull-images","2.containers/2.container-registry/4.pull-images","i-lucide-download",{"title":80,"path":81,"stem":82,"icon":83},"Manage Repositories","/containers/container-registry/manage-repositories","2.containers/2.container-registry/5.manage-repositories","i-lucide-folder",{"title":85,"path":86,"stem":87,"icon":88},"Manage Access Credentials","/containers/container-registry/manage-credentials","2.containers/2.container-registry/6.manage-credentials","i-lucide-key",{"title":90,"collapsed":6,"path":91,"stem":92,"children":93,"page":20},"Compute","/compute","3.compute",[94],{"title":95,"path":96,"stem":97,"children":98,"page":20},"Virtual Machines","/compute/virtual-machines","3.compute/virtual-machines",[99,102,106,111,116,121],{"title":32,"path":100,"stem":101,"icon":50},"/compute/virtual-machines/overview","3.compute/virtual-machines/1.overview",{"title":103,"path":104,"stem":105,"icon":40},"Launch an Instance","/compute/virtual-machines/launch-instance","3.compute/virtual-machines/2.launch-instance",{"title":107,"path":108,"stem":109,"icon":110},"Connect with SSH","/compute/virtual-machines/connect-with-ssh","3.compute/virtual-machines/3.connect-with-ssh","i-lucide-terminal",{"title":112,"path":113,"stem":114,"icon":115},"Manage Snapshots","/compute/virtual-machines/manage-snapshots","3.compute/virtual-machines/4.manage-snapshots","i-lucide-camera",{"title":117,"path":118,"stem":119,"icon":120},"Manage Backups","/compute/virtual-machines/manage-backups","3.compute/virtual-machines/5.manage-backups","i-lucide-shield-check",{"title":122,"path":123,"stem":124,"icon":88},"Manage SSH Keys","/compute/virtual-machines/manage-ssh-keys","3.compute/virtual-machines/6.manage-ssh-keys",{"title":126,"collapsed":6,"path":127,"stem":128,"children":129,"page":20},"Databases","/databases","4.databases",[130,134,138,143,147],{"title":32,"path":131,"stem":132,"icon":133},"/databases/overview","4.databases/1.overview","i-lucide-database",{"title":135,"path":136,"stem":137,"icon":40},"Create a Database","/databases/create-database","4.databases/2.create-database",{"title":139,"path":140,"stem":141,"icon":142},"Connect to a Database","/databases/connect-database","4.databases/3.connect-database","i-lucide-plug",{"title":117,"path":144,"stem":145,"icon":146},"/databases/manage-backups","4.databases/4.manage-backups","i-lucide-history",{"title":148,"path":149,"stem":150,"icon":151},"Manage Database","/databases/manage-database","4.databases/5.manage-database","i-lucide-settings",{"title":153,"collapsed":6,"path":154,"stem":155,"children":156,"page":20},"Storage","/storage","5.storage",[157,161,166,170,174,178],{"title":32,"path":158,"stem":159,"icon":160},"/storage/overview","5.storage/1.overview","i-lucide-hard-drive",{"title":162,"path":163,"stem":164,"icon":165},"Create a Bucket","/storage/create-bucket","5.storage/2.create-bucket","i-lucide-folder-plus",{"title":167,"path":168,"stem":169,"icon":73},"Upload & Manage Objects","/storage/manage-objects","5.storage/3.manage-objects",{"title":171,"path":172,"stem":173,"icon":88},"Access Keys","/storage/access-keys","5.storage/4.access-keys",{"title":175,"path":176,"stem":177,"icon":110},"S3 API Usage","/storage/s3-api-usage","5.storage/5.s3-api-usage",{"title":179,"path":180,"stem":181,"icon":182},"Usage & Billing","/storage/usage","5.storage/6.usage","i-lucide-bar-chart",{"title":184,"collapsed":6,"path":185,"stem":186,"children":187,"page":20},"Account","/account","6.account",[188,192,197],{"title":189,"path":190,"stem":191,"icon":88},"API Keys","/account/api-keys","6.account/api-keys",{"title":193,"path":194,"stem":195,"icon":196},"Billing","/account/billing","6.account/billing","i-lucide-credit-card",{"title":198,"path":199,"stem":200,"icon":201},"Limits & Quotas","/account/limits-quotas","6.account/limits-quotas","i-lucide-gauge",{"title":203,"path":204,"stem":205,"icon":206},"FAQ","/faq","faq","i-lucide-help-circle",{"title":208,"path":209,"stem":210,"icon":211},"Support","/support","support","i-lucide-life-buoy",{"id":213,"title":139,"body":214,"description":824,"extension":825,"links":826,"meta":827,"navigation":828,"path":140,"seo":829,"stem":141,"__hash__":830},"docs/4.databases/3.connect-database.md",{"type":215,"value":216,"toc":807},"minimark",[217,221,230,235,255,259,262,315,326,335,339,344,418,421,425,433,437,442,525,530,606,611,651,655,659,678,682,688,691,696,715,720,744,748,755,759,762,783,786,790,803],[218,219,139],"h1",{"id":220},"connect-to-a-database",[222,223,224,225,229],"p",{},"Once your database status is ",[226,227,228],"strong",{},"Running",", connection details are available on the database overview page.",[231,232,234],"h2",{"id":233},"finding-connection-details","Finding Connection Details",[236,237,238,245,248],"ol",{},[239,240,241,242,244],"li",{},"Navigate to ",[226,243,126],{}," in the sidebar",[239,246,247],{},"Click on your database name to open the overview page",[239,249,250,251,254],{},"Connection details are displayed in the ",[226,252,253],{},"Connection"," panel",[231,256,258],{"id":257},"connection-endpoints","Connection Endpoints",[222,260,261],{},"Each database provides two endpoint types:",[263,264,265,281],"table",{},[266,267,268],"thead",{},[269,270,271,275,278],"tr",{},[272,273,274],"th",{},"Endpoint",[272,276,277],{},"Description",[272,279,280],{},"Use Case",[282,283,284,298],"tbody",{},[269,285,286,292,295],{},[287,288,289],"td",{},[226,290,291],{},"Private Host",[287,293,294],{},"Internal network endpoint",[287,296,297],{},"Applications running within NexQloud",[269,299,300,305,312],{},[287,301,302],{},[226,303,304],{},"Public Host",[287,306,307,308],{},"SNI proxy at ",[309,310,311],"code",{},"*.dds.dcptunnel.net",[287,313,314],{},"External access (must be enabled during creation)",[222,316,317,318,321,322,325],{},"Toggle between ",[226,319,320],{},"Private"," and ",[226,323,324],{},"Public"," endpoints in the connection panel.",[327,328,330,331,334],"alert",{"type":329},"warning","Public endpoints are only available if you enabled the ",[226,332,333],{},"Public Endpoint"," option during database creation.",[231,336,338],{"id":337},"connect-to-postgresql","Connect to PostgreSQL",[340,341,343],"h3",{"id":342},"using-psql","Using psql",[345,346,351],"pre",{"className":347,"code":348,"language":349,"meta":350,"style":350},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","psql -h \u003Chost> -p \u003Cport> -U \u003Cusername> -d \u003Cdatabase>\n","bash","",[309,352,353],{"__ignoreMap":350},[354,355,358,362,366,370,373,377,380,383,385,388,390,392,395,397,400,403,405,408,410,413,415],"span",{"class":356,"line":357},"line",1,[354,359,361],{"class":360},"sBMFI","psql",[354,363,365],{"class":364},"sfazB"," -h",[354,367,369],{"class":368},"sMK4o"," \u003C",[354,371,372],{"class":364},"hos",[354,374,376],{"class":375},"sTEyZ","t",[354,378,379],{"class":368},">",[354,381,382],{"class":364}," -p",[354,384,369],{"class":368},[354,386,387],{"class":364},"por",[354,389,376],{"class":375},[354,391,379],{"class":368},[354,393,394],{"class":364}," -U",[354,396,369],{"class":368},[354,398,399],{"class":364},"usernam",[354,401,402],{"class":375},"e",[354,404,379],{"class":368},[354,406,407],{"class":364}," -d",[354,409,369],{"class":368},[354,411,412],{"class":364},"databas",[354,414,402],{"class":375},[354,416,417],{"class":368},">\n",[222,419,420],{},"You will be prompted for the password. Copy it from the overview page (click the eye icon to reveal, then copy).",[340,422,424],{"id":423},"connection-string-format","Connection String Format",[345,426,431],{"className":427,"code":429,"language":430},[428],"language-text","postgresql://\u003Cusername>:\u003Cpassword>@\u003Chost>:\u003Cport>/\u003Cdatabase>\n","text",[309,432,429],{"__ignoreMap":350},[340,434,436],{"id":435},"application-code-examples","Application Code Examples",[222,438,439],{},[226,440,441],{},"Node.js (pg)",[345,443,447],{"className":444,"code":445,"language":446,"meta":350,"style":350},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","const { Pool } = require('pg');\n\nconst pool = new Pool({\n  host: '\u003Chost>',\n  port: \u003Cport>,\n  user: '\u003Cusername>',\n  password: '\u003Cpassword>',\n  database: '\u003Cdatabase>',\n  ssl: true\n});\n\nconst result = await pool.query('SELECT NOW()');\nconsole.log(result.rows[0]);\n","javascript",[309,448,449,454,460,466,472,478,484,490,496,502,508,513,519],{"__ignoreMap":350},[354,450,451],{"class":356,"line":357},[354,452,453],{},"const { Pool } = require('pg');\n",[354,455,457],{"class":356,"line":456},2,[354,458,459],{"emptyLinePlaceholder":6},"\n",[354,461,463],{"class":356,"line":462},3,[354,464,465],{},"const pool = new Pool({\n",[354,467,469],{"class":356,"line":468},4,[354,470,471],{},"  host: '\u003Chost>',\n",[354,473,475],{"class":356,"line":474},5,[354,476,477],{},"  port: \u003Cport>,\n",[354,479,481],{"class":356,"line":480},6,[354,482,483],{},"  user: '\u003Cusername>',\n",[354,485,487],{"class":356,"line":486},7,[354,488,489],{},"  password: '\u003Cpassword>',\n",[354,491,493],{"class":356,"line":492},8,[354,494,495],{},"  database: '\u003Cdatabase>',\n",[354,497,499],{"class":356,"line":498},9,[354,500,501],{},"  ssl: true\n",[354,503,505],{"class":356,"line":504},10,[354,506,507],{},"});\n",[354,509,511],{"class":356,"line":510},11,[354,512,459],{"emptyLinePlaceholder":6},[354,514,516],{"class":356,"line":515},12,[354,517,518],{},"const result = await pool.query('SELECT NOW()');\n",[354,520,522],{"class":356,"line":521},13,[354,523,524],{},"console.log(result.rows[0]);\n",[222,526,527],{},[226,528,529],{},"Python (psycopg2)",[345,531,535],{"className":532,"code":533,"language":534,"meta":350,"style":350},"language-python shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import psycopg2\n\nconn = psycopg2.connect(\n    host=\"\u003Chost>\",\n    port=\u003Cport>,\n    user=\"\u003Cusername>\",\n    password=\"\u003Cpassword>\",\n    dbname=\"\u003Cdatabase>\",\n    sslmode=\"require\"\n)\n\ncur = conn.cursor()\ncur.execute(\"SELECT NOW()\")\nprint(cur.fetchone())\n","python",[309,536,537,542,546,551,556,561,566,571,576,581,586,590,595,600],{"__ignoreMap":350},[354,538,539],{"class":356,"line":357},[354,540,541],{},"import psycopg2\n",[354,543,544],{"class":356,"line":456},[354,545,459],{"emptyLinePlaceholder":6},[354,547,548],{"class":356,"line":462},[354,549,550],{},"conn = psycopg2.connect(\n",[354,552,553],{"class":356,"line":468},[354,554,555],{},"    host=\"\u003Chost>\",\n",[354,557,558],{"class":356,"line":474},[354,559,560],{},"    port=\u003Cport>,\n",[354,562,563],{"class":356,"line":480},[354,564,565],{},"    user=\"\u003Cusername>\",\n",[354,567,568],{"class":356,"line":486},[354,569,570],{},"    password=\"\u003Cpassword>\",\n",[354,572,573],{"class":356,"line":492},[354,574,575],{},"    dbname=\"\u003Cdatabase>\",\n",[354,577,578],{"class":356,"line":498},[354,579,580],{},"    sslmode=\"require\"\n",[354,582,583],{"class":356,"line":504},[354,584,585],{},")\n",[354,587,588],{"class":356,"line":510},[354,589,459],{"emptyLinePlaceholder":6},[354,591,592],{"class":356,"line":515},[354,593,594],{},"cur = conn.cursor()\n",[354,596,597],{"class":356,"line":521},[354,598,599],{},"cur.execute(\"SELECT NOW()\")\n",[354,601,603],{"class":356,"line":602},14,[354,604,605],{},"print(cur.fetchone())\n",[222,607,608],{},[226,609,610],{},"Go (lib/pq)",[345,612,616],{"className":613,"code":614,"language":615,"meta":350,"style":350},"language-go shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import (\n    \"database/sql\"\n    _ \"github.com/lib/pq\"\n)\n\nconnStr := \"host=\u003Chost> port=\u003Cport> user=\u003Cusername> password=\u003Cpassword> dbname=\u003Cdatabase> sslmode=require\"\ndb, err := sql.Open(\"postgres\", connStr)\n","go",[309,617,618,623,628,633,637,641,646],{"__ignoreMap":350},[354,619,620],{"class":356,"line":357},[354,621,622],{},"import (\n",[354,624,625],{"class":356,"line":456},[354,626,627],{},"    \"database/sql\"\n",[354,629,630],{"class":356,"line":462},[354,631,632],{},"    _ \"github.com/lib/pq\"\n",[354,634,635],{"class":356,"line":468},[354,636,585],{},[354,638,639],{"class":356,"line":474},[354,640,459],{"emptyLinePlaceholder":6},[354,642,643],{"class":356,"line":480},[354,644,645],{},"connStr := \"host=\u003Chost> port=\u003Cport> user=\u003Cusername> password=\u003Cpassword> dbname=\u003Cdatabase> sslmode=require\"\n",[354,647,648],{"class":356,"line":486},[354,649,650],{},"db, err := sql.Open(\"postgres\", connStr)\n",[231,652,654],{"id":653},"connect-to-ferretdb-mongodb-compatible","Connect to FerretDB (MongoDB-Compatible)",[340,656,658],{"id":657},"using-mongosh","Using mongosh",[345,660,662],{"className":347,"code":661,"language":349,"meta":350,"style":350},"mongosh \"mongodb://\u003Cusername>:\u003Cpassword>@\u003Chost>:\u003Cport>/\u003Cdatabase>\"\n",[309,663,664],{"__ignoreMap":350},[354,665,666,669,672,675],{"class":356,"line":357},[354,667,668],{"class":360},"mongosh",[354,670,671],{"class":368}," \"",[354,673,674],{"class":364},"mongodb://\u003Cusername>:\u003Cpassword>@\u003Chost>:\u003Cport>/\u003Cdatabase>",[354,676,677],{"class":368},"\"\n",[340,679,681],{"id":680},"mongodb-uri-format","MongoDB URI Format",[345,683,686],{"className":684,"code":685,"language":430},[428],"mongodb://\u003Cusername>:\u003Cpassword>@\u003Chost>:\u003Cport>/\u003Cdatabase>\n",[309,687,685],{"__ignoreMap":350},[340,689,436],{"id":690},"application-code-examples-1",[222,692,693],{},[226,694,695],{},"Node.js (mongoose)",[345,697,699],{"className":444,"code":698,"language":446,"meta":350,"style":350},"const mongoose = require('mongoose');\n\nawait mongoose.connect('mongodb://\u003Cusername>:\u003Cpassword>@\u003Chost>:\u003Cport>/\u003Cdatabase>');\n",[309,700,701,706,710],{"__ignoreMap":350},[354,702,703],{"class":356,"line":357},[354,704,705],{},"const mongoose = require('mongoose');\n",[354,707,708],{"class":356,"line":456},[354,709,459],{"emptyLinePlaceholder":6},[354,711,712],{"class":356,"line":462},[354,713,714],{},"await mongoose.connect('mongodb://\u003Cusername>:\u003Cpassword>@\u003Chost>:\u003Cport>/\u003Cdatabase>');\n",[222,716,717],{},[226,718,719],{},"Python (pymongo)",[345,721,723],{"className":532,"code":722,"language":534,"meta":350,"style":350},"from pymongo import MongoClient\n\nclient = MongoClient('mongodb://\u003Cusername>:\u003Cpassword>@\u003Chost>:\u003Cport>/\u003Cdatabase>')\ndb = client['\u003Cdatabase>']\n",[309,724,725,730,734,739],{"__ignoreMap":350},[354,726,727],{"class":356,"line":357},[354,728,729],{},"from pymongo import MongoClient\n",[354,731,732],{"class":356,"line":456},[354,733,459],{"emptyLinePlaceholder":6},[354,735,736],{"class":356,"line":462},[354,737,738],{},"client = MongoClient('mongodb://\u003Cusername>:\u003Cpassword>@\u003Chost>:\u003Cport>/\u003Cdatabase>')\n",[354,740,741],{"class":356,"line":468},[354,742,743],{},"db = client['\u003Cdatabase>']\n",[231,745,747],{"id":746},"security","Security",[222,749,750,751,754],{},"All database connections are ",[226,752,753],{},"SSL/TLS encrypted automatically",". No additional certificate setup is required — clients connect securely by default.",[231,756,758],{"id":757},"credentials","Credentials",[222,760,761],{},"Your database credentials are shown on the overview page:",[763,764,765,771,777],"ul",{},[239,766,767,770],{},[226,768,769],{},"Database Name"," — the default database created with your cluster",[239,772,773,776],{},[226,774,775],{},"Username"," — the admin user",[239,778,779,782],{},[226,780,781],{},"Password"," — click the eye icon to reveal; use the copy button to copy securely",[327,784,785],{"type":329},"Store your database password securely. It is shown on the overview page but should be saved in a secrets manager or environment variable for application use.",[231,787,789],{"id":788},"next-steps","Next Steps",[763,791,792,798],{},[239,793,794,797],{},[795,796,117],"a",{"href":144}," — configure and restore from backups",[239,799,800,802],{},[795,801,148],{"href":149}," — monitor status and cluster nodes",[804,805,806],"style",{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}",{"title":350,"searchDepth":456,"depth":456,"links":808},[809,810,811,816,821,822,823],{"id":233,"depth":456,"text":234},{"id":257,"depth":456,"text":258},{"id":337,"depth":456,"text":338,"children":812},[813,814,815],{"id":342,"depth":462,"text":343},{"id":423,"depth":462,"text":424},{"id":435,"depth":462,"text":436},{"id":653,"depth":456,"text":654,"children":817},[818,819,820],{"id":657,"depth":462,"text":658},{"id":680,"depth":462,"text":681},{"id":690,"depth":462,"text":436},{"id":746,"depth":456,"text":747},{"id":757,"depth":456,"text":758},{"id":788,"depth":456,"text":789},"Connect to your managed database using standard clients","md",null,{},{"icon":142},{"title":139,"description":824},"k8xC8D4t4Qhgos-i3TTXx-hvz7sWOmpVD21-6kibrlI",[832,834],{"title":135,"path":136,"stem":137,"description":833,"icon":40,"children":-1},"Launch a managed database cluster on NexQloud",{"title":117,"path":144,"stem":145,"description":835,"icon":146,"children":-1},"View backups and restore your managed database to a point in time",1778274379483]