[{"data":1,"prerenderedAt":489},["ShallowReactive",2],{"navigation_docs":3,"-docs-deploy-databases":130,"-docs-deploy-databases-surround":484},[4,25,70,90,115],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":6},"Getting started",false,"\u002Fdocs\u002Fgetting-started","docs\u002F1.getting-started",[10,15,20],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fdocs\u002Fgetting-started\u002Fintroduction","docs\u002F1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Installation","\u002Fdocs\u002Fgetting-started\u002Finstallation","docs\u002F1.getting-started\u002F2.installation","i-lucide-terminal",{"title":21,"path":22,"stem":23,"icon":24},"Quickstart","\u002Fdocs\u002Fgetting-started\u002Fquickstart","docs\u002F1.getting-started\u002F3.quickstart","i-lucide-rocket",{"title":26,"icon":6,"path":27,"stem":28,"children":29,"page":6},"Deploy","\u002Fdocs\u002Fdeploy","docs\u002F2.deploy",[30,35,40,45,50,55,60,65],{"title":31,"path":32,"stem":33,"icon":34},"Projects and services","\u002Fdocs\u002Fdeploy\u002Fprojects-and-services","docs\u002F2.deploy\u002F1.projects-and-services","i-lucide-folder-kanban",{"title":36,"path":37,"stem":38,"icon":39},"Docker images","\u002Fdocs\u002Fdeploy\u002Fdocker-images","docs\u002F2.deploy\u002F2.docker-images","i-lucide-container",{"title":41,"path":42,"stem":43,"icon":44},"Git repositories","\u002Fdocs\u002Fdeploy\u002Fgit-repositories","docs\u002F2.deploy\u002F3.git-repositories","i-lucide-git-branch",{"title":46,"path":47,"stem":48,"icon":49},"Databases","\u002Fdocs\u002Fdeploy\u002Fdatabases","docs\u002F2.deploy\u002F4.databases","i-lucide-database",{"title":51,"path":52,"stem":53,"icon":54},"Environment variables","\u002Fdocs\u002Fdeploy\u002Fenvironment-variables","docs\u002F2.deploy\u002F5.environment-variables","i-lucide-key-round",{"title":56,"path":57,"stem":58,"icon":59},"Deployments and logs","\u002Fdocs\u002Fdeploy\u002Fdeployments","docs\u002F2.deploy\u002F6.deployments","i-lucide-scroll-text",{"title":61,"path":62,"stem":63,"icon":64},"Deploy hooks","\u002Fdocs\u002Fdeploy\u002Fdeploy-hooks","docs\u002F2.deploy\u002F7.deploy-hooks","i-lucide-webhook",{"title":66,"path":67,"stem":68,"icon":69},"Domains and HTTPS","\u002Fdocs\u002Fdeploy\u002Fdomains","docs\u002F2.deploy\u002F8.domains","i-lucide-lock",{"title":71,"icon":6,"path":72,"stem":73,"children":74,"page":6},"Backups","\u002Fdocs\u002Fbackups","docs\u002F3.backups",[75,80,85],{"title":76,"path":77,"stem":78,"icon":79},"Backup destinations","\u002Fdocs\u002Fbackups\u002Fbackup-destinations","docs\u002F3.backups\u002F1.backup-destinations","i-lucide-hard-drive-upload",{"title":81,"path":82,"stem":83,"icon":84},"Database backups","\u002Fdocs\u002Fbackups\u002Fdatabase-backups","docs\u002F3.backups\u002F2.database-backups","i-lucide-archive-restore",{"title":86,"path":87,"stem":88,"icon":89},"Backing up Harblet","\u002Fdocs\u002Fbackups\u002Fharblet-backups","docs\u002F3.backups\u002F3.harblet-backups","i-lucide-shield-check",{"title":91,"icon":6,"path":92,"stem":93,"children":94,"page":6},"Administration","\u002Fdocs\u002Fadministration","docs\u002F4.administration",[95,100,105,110],{"title":96,"path":97,"stem":98,"icon":99},"Harblet's domain","\u002Fdocs\u002Fadministration\u002Fharblet-domain","docs\u002F4.administration\u002F1.harblet-domain","i-lucide-globe",{"title":101,"path":102,"stem":103,"icon":104},"Servers","\u002Fdocs\u002Fadministration\u002Fservers","docs\u002F4.administration\u002F2.servers","i-lucide-server",{"title":106,"path":107,"stem":108,"icon":109},"Team and account","\u002Fdocs\u002Fadministration\u002Fteam","docs\u002F4.administration\u002F3.team","i-lucide-users",{"title":111,"path":112,"stem":113,"icon":114},"Updates","\u002Fdocs\u002Fadministration\u002Fupdates","docs\u002F4.administration\u002F4.updates","i-lucide-refresh-cw",{"title":116,"icon":6,"path":117,"stem":118,"children":119,"page":6},"Reference","\u002Fdocs\u002Freference","docs\u002F5.reference",[120,125],{"title":121,"path":122,"stem":123,"icon":124},"Troubleshooting","\u002Fdocs\u002Freference\u002Ftroubleshooting","docs\u002F5.reference\u002F1.troubleshooting","i-lucide-life-buoy",{"title":126,"path":127,"stem":128,"icon":129},"License","\u002Fdocs\u002Freference\u002Flicense","docs\u002F5.reference\u002F2.license","i-lucide-scale",{"id":131,"title":46,"body":132,"description":477,"extension":478,"links":479,"meta":480,"navigation":481,"path":47,"seo":482,"stem":48,"__hash__":483},"docs\u002Fdocs\u002F2.deploy\u002F4.databases.md",{"type":133,"value":134,"toc":462},"minimark",[135,139,175,180,266,270,281,354,369,391,398,402,405,412,416,421,427,430,434,441,444,448,458],[136,137,138],"p",{},"Harblet runs PostgreSQL and MySQL databases next to your services. Only services in the same project can connect to them.",[140,141,142,155],"table",{},[143,144,145],"thead",{},[146,147,148,152],"tr",{},[149,150,151],"th",{},"Type",[149,153,154],{},"Versions",[156,157,158,167],"tbody",{},[146,159,160,164],{},[161,162,163],"td",{},"PostgreSQL",[161,165,166],{},"18",[146,168,169,172],{},[161,170,171],{},"MySQL",[161,173,174],{},"9.7, 8.4",[176,177,179],"h2",{"id":178},"create-a-database","Create a database",[181,182,184,189,201,205,255,259],"steps",{"level":183},"3",[185,186,188],"h3",{"id":187},"open-the-project","Open the project",[136,190,191,192,196,197,200],{},"Open a project and click ",[193,194,195],"strong",{},"New service"," → ",[193,198,199],{},"Database",".",[185,202,204],{"id":203},"fill-in-the-form","Fill in the form",[206,207,208,217,221,225,241],"field-group",{},[209,210,212,214,215,200],"field",{":required":211,"name":151},"true",[193,213,163],{}," or ",[193,216,171],{},[209,218,220],{":required":211,"name":219},"Name","Up to 64 characters. Defaults to the type.",[209,222,224],{":required":211,"name":223},"Version","The major version. Deploying the database updates it to the newest patch release of this version.",[209,226,228,229,214,233,236,237,240],{":required":211,"name":227},"Username","Defaults to ",[230,231,232],"code",{},"postgres",[230,234,235],{},"root",". Up to 32 lowercase letters, digits and underscores, starting with a letter. PostgreSQL usernames can't start with ",[230,238,239],{},"pg_",". Can't be changed later.",[209,242,228,244,247,248,214,251,254],{":required":211,"name":243},"Database name",[230,245,246],{},"app",". Up to 63 characters, the same ones as the username. Names the database reserves, such as ",[230,249,250],{},"template1",[230,252,253],{},"mysql",", aren't allowed. Can't be changed later.",[185,256,258],{"id":257},"create-it","Create it",[136,260,261,262,265],{},"Click ",[193,263,264],{},"Create database",". Harblet generates a password and starts the database right away.",[176,267,269],{"id":268},"connect-to-it","Connect to it",[136,271,272,273,276,277,280],{},"The database's ",[193,274,275],{},"Overview"," tab shows its connection details under ",[193,278,279],{},"Connection",":",[140,282,283,293],{},[143,284,285],{},[146,286,287,290],{},[149,288,289],{},"Field",[149,291,292],{},"Example",[156,294,295,305,320,328,336,344],{},[146,296,297,300],{},[161,298,299],{},"Host",[161,301,302],{},[230,303,304],{},"postgresql-x7k2",[146,306,307,310],{},[161,308,309],{},"Port",[161,311,312,315,316,319],{},[230,313,314],{},"5432"," for PostgreSQL, ",[230,317,318],{},"3306"," for MySQL",[146,321,322,324],{},[161,323,199],{},[161,325,326],{},[230,327,246],{},[146,329,330,332],{},[161,331,227],{},[161,333,334],{},[230,335,232],{},[146,337,338,341],{},[161,339,340],{},"Password",[161,342,343],{},"Generated, hidden until you click the eye button",[146,345,346,349],{},[161,347,348],{},"Connection URL",[161,350,351],{},[230,352,353],{},"postgresql:\u002F\u002Fpostgres:\u003Cpassword>@postgresql-x7k2:5432\u002Fapp",[136,355,356,357,359,360,364,365,368],{},"Copy the ",[193,358,348],{}," into an ",[361,362,363],"a",{"href":52},"environment variable"," of the service that uses it, such as ",[230,366,367],{},"DATABASE_URL",", and deploy that service.",[370,371,372,379,385],"ul",{},[373,374,375,378],"li",{},[193,376,377],{},"Only services in the same project"," can connect. Other projects and the internet can't reach the database.",[373,380,381,384],{},[193,382,383],{},"The host never changes,"," also when you rename the database.",[373,386,387,390],{},[193,388,389],{},"Every member"," of your Harblet can see the password.",[392,393,394,395,397],"note",{},"For MySQL with a username other than ",[230,396,235],{},", Harblet sets a random root password that it doesn't show. Use the username from the connection details.",[176,399,401],{"id":400},"where-the-data-lives","Where the data lives",[136,403,404],{},"A database stores its data on the disk of the server it runs on. It stays on that server: if the server fails, the database waits for it to come back, while other services move to another server.",[136,406,407,408,411],{},"Set up ",[361,409,410],{"href":82},"backups"," so you don't lose data when a disk fails.",[176,413,415],{"id":414},"update-to-a-new-patch-release","Update to a new patch release",[136,417,261,418,420],{},[193,419,26],{}," on the database. Harblet restarts the database briefly and pulls the newest patch release of its version, for example the newest PostgreSQL 18.x.",[136,422,423,424,200],{},"If the new release fails to start, Harblet automatically deploys the version that ran before. The deployment list shows it as ",[193,425,426],{},"Rollback",[392,428,429],{},"Harblet doesn't upgrade databases to a new major version, and the version of a database can't be changed.",[176,431,433],{"id":432},"what-you-can-change","What you can change",[136,435,436,437,440],{},"Under ",[193,438,439],{},"Settings",", you can rename the database. Its version, username, database name and password stay as they were created.",[136,442,443],{},"Databases have no environment variables, domains or deploy hooks.",[176,445,447],{"id":446},"delete-a-database","Delete a database",[136,449,450,451,453,454,457],{},"Open the database's ",[193,452,439],{}," tab and click ",[193,455,456],{},"Delete service",". Harblet deletes the database with all its data.",[459,460,461],"caution",{},"This can't be undone. Backups stay at their destination, but Harblet no longer lists them.",{"title":463,"searchDepth":464,"depth":464,"links":465},"",2,[466,472,473,474,475,476],{"id":178,"depth":464,"text":179,"children":467},[468,470,471],{"id":187,"depth":469,"text":188},3,{"id":203,"depth":469,"text":204},{"id":257,"depth":469,"text":258},{"id":268,"depth":464,"text":269},{"id":400,"depth":464,"text":401},{"id":414,"depth":464,"text":415},{"id":432,"depth":464,"text":433},{"id":446,"depth":464,"text":447},"Create a PostgreSQL or MySQL database in one click and connect your services to it.","md",null,{},{"icon":49},{"title":46,"description":477},"JqSe3QcJfZlQvVLlvcnaERVY86XweEmFNDe3W2De40M",[485,487],{"title":41,"path":42,"stem":43,"description":486,"icon":44,"children":-1},"Build a Git repository with its Dockerfile or with Railpack, from public URLs or private GitHub and GitLab repositories.",{"title":51,"path":52,"stem":53,"description":488,"icon":54,"children":-1},"Give your services API keys, database URLs and other settings, stored encrypted.",1794744116670]