在哪里托管一个PostgreSQL数据库

308 阅读4分钟

当谈到为你的应用程序托管PostgreSQL数据库时,你有很多选择,哪种选择对你来说是完美的,取决于你的技能,你是否愿意用时间换取金钱(托管解决方案或自我托管解决方案),以及你的偏好。

本地数据库

FAST FREE REQUIRES SETUP LIMITED TO LOCALHOST

当你在本地主机上开发你的应用程序时,本地数据库是你最好的选择。

如果你使用本地数据库,你的应用程序在本地主机上会非常快,因为应用程序不需要在互联网上寻找数据。

缺点是初始设置,但你可以通过在谷歌或YouTube上搜索 "install postgresql on "来找到许多适合你的操作系统的教程。我有一个针对macOS的指南

这一点很重要:本地数据库只能在localhost上工作,因为你的电脑不能从互联网上访问,所以当你想在Vercel或Netlify或其他公开访问的地方部署时,你将需要创建一个新的远程数据库。

下面列出的所有其他选项都不会有这个问题,所有这些选项都可以从互联网上的任何地方访问。

铁路

SLOW FREE NO SETUP UNLIMITED PROJECTS

Railway是一个很好的选择,可以快速建立和运行一个远程数据库。

它是免费启动的,而且他们对你可以创建的项目数量没有限制。

问题是,你在做了几个项目之后,就会超过免费计划的限制,所以过了一段时间,你就必须付费,否则你的应用程序就无法工作。

它有一个很好的用户界面,很简单,但在免费计划中可能有点慢(当然,因为他们必须在某处 "削减 "开支)。

DigitalOcean VPS

$5/m REQUIRES SETUP

当涉及到在互联网上拥有自己的服务器和自己的数据库时,这是最好的选择之一。

缺点是,你需要学习如何设置一个Linux服务器。并管理它。如果你对此不感兴趣,请跳过这个选项,因为这可能是一个真正的痛苦和时间沉淀。

提示:DigitalOcean还提供一个管理数据库,使事情变得更容易(但也花费更多,节省时间花费更多),见下文。

在DigitalOcean的文档中,他们有一些很棒的指南。

如何在Ubuntu 20.04上安装PostgreSQL [快速入门] | DigitalOcean

注意:我说DigitalOcean是因为我使用并喜欢这个平台(而且你可以使用我的推荐链接获得100美元的免费信贷,你可以在未来2个月内使用),但你可以使用任何其他VPS公司。

好的一面是,如果你有自己的VPS用于数据库,你也可以在上面托管Next.js应用程序。这有一个好处:应用程序和数据都将在同一台服务器上。

对于所有其他选项,你的数据将位于 "云中的某处",你的数据库将位于 "云中的其他地方",这在速度上是有代价的。

你可以根据你的需要扩大服务器的能力,所以你的5美元的VPS将花费更多,但它也将根据需要提高性能。

DigitalOcean管理的数据库

PAID $15/m NO SETUP

我已经谈到了DigitalOcean在托管你自己的VPS方面。

这是不一样的--他们托管数据库,而你不需要设置或维护任何东西。

我认为这是一个很好的解决方案,可以在不产生额外费用(铁路)的情况下托管你的所有应用程序,并且可以放心,因为你不必担心你的服务器、维护、被黑客攻击等等。

这是一个昂贵的解决方案,但由于这个原因,它很方便(你可以使用我的推荐链接,获得100美元的免费信贷,你可以在未来2个月内使用)。有趣的是,你按小时付费,所以你可以测试它,然后关闭它。

他们提供伟大的功能,如每日备份,他们有连接池,这有助于不耗尽Prisma的数据库连接限制

超级数据库(Supabase

FREE FOR 2 PROJECTS CONNECTION POOL NO SETUP

Supabase是一个非常有趣的项目。它不 "只是一个数据库托管",但它是一个,所以你可以把它作为一个数据库来使用。它是一个建立在PostgreSQL之上的应用开发平台,他们提供一个免费的连接池,这有助于不耗尽Prisma的数据库连接限制

他们的免费账户最多允许2个项目,所以值得一试。你也可以在一个新的项目上工作,然后在完成后删除旧的项目。

Supabase把自己推销为Firebase的替代品,除了数据库之外,你还有认证、订阅和很多其他功能,你可以在以后探索。

注意:Supabase也可以自我托管,所以你的2个项目限制将消失,代价是必须管理你自己的基础设施。

用于PostgreSQL的AWS RDS

PAID NO SETUP

如果你已经在使用AWS,这是一个最佳解决方案。AWS的免费层应该包括你第一年的这个功能。

这比其他托管解决方案的设置要复杂一些,因为是AWS,但它也是一个管理解决方案,所以你不需要担心管理自己的服务器。

像DigitalOcean一样,你也可以使用AWS EC2将你的VPS托管在亚马逊AWS上,并在上面安装PostgreSQL。

还有一件事!⚠️ ✋

在一月底,我将组织网络开发训练营

这是一个为期10周的同学会在线课程,我将指导你成为一名Web开发人员。

这不仅仅是 "一个课程"。它是我每年组织一次的大型活动。

我们将从零开始,学习网络开发的基础知识,HTML,CSS,JavaScript,Tailwind,Node.js,然后我们将学习React,JSX,如何使用PostgreSQL,Astro,Next.js,Prisma等等

在前10周结束时,你将知道如何创建网站和网络应用程序,我将为你解锁Bootcamp的第二阶段:你将获得Bootcamp毕业生专属的大量项目,所以你可以按照我的指示建立像带有认证的私人区域,克隆Twitter YouTube Reddit等流行网站,创建电子商务网站,等等。

因为一旦你掌握了基础知识,你只能通过在真正的、令人兴奋的项目上工作来学习。