如何在MacOS上设置PostgreSQL(附代码)

700 阅读4分钟

这是一个关于在MacOS上设置PostgreSQL的教程。你可能想知道为什么首先需要另一个Postgres的设置指南,因为网上已经有了一些。我找到了许多关于如何设置它的教程和指南,但发现其中大多数都不清楚,而且已经过时,是基于旧的PostgreSQL版本。这个清单并不全面,不过,由于它被用于我网站上的几个教程,我保持它与PostgreSQL的最新版本一起更新。如果你发现本指南的任何缺陷,在下面发表评论将非常有帮助,以便为其他开发者保持最新的内容。

如果你想在Windows上运行PostgreSQL,你可以在这里找到指导。如何在Windows上安装PostgreSQL

在MacOS上安装PostgreSQL

我推荐Homebrew用于在MacOS上安装和管理应用程序。它是在MacOS终端使用以下命令安装的:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

终端会运行一系列的安装操作,并且可能会在你的本地机器上创建文件夹以适应Homebrews的存储要求。你可以在这里找到更详细的说明。安装完毕后,更新Homebrew的依赖关系,在命令行上安装PostgreSQL。

brew update
brew install postgresql

接下来,检查你的PostgreSQL版本:

postgres --version
postgres (PostgreSQL) 12.2

命令行的结果将显示你在本地机器上安装的版本。我建议尽可能地使用最新版本的库和软件,以避免与客户端应用程序的兼容性问题。

如何创建一个物理的PostgreSQL数据库

现在你可以初始化你的硬盘上的物理空间来分配数据库。要做到这一点,在命令行中创建一个默认的postgres数据库,以防它没有自动发生。

initdb /usr/local/var/postgres

你会看到错误信息。*"initdb: directory "/usr/local/var/postgres" exists but is not empty"*如果在你安装PostgreSQL时已经创建了数据库。这意味着你试图为数据库创建一个物理位置的文件夹已经有一个。不管怎样,接下来你可以进入下一个步骤。

当你以后连接到这个物理数据库时,你会看到一个实际的数据库,它也被称为 "postgres"。postgres数据库是为了成为你与PostgreSQL结合使用的任何第三方工具的默认数据库。这些工具试图与这个默认数据库建立默认连接,所以你不应该删除它。

如何启动/停止一个PostgreSQL数据库

接下来让我们看看如何与实际的数据库互动。用下面的命令手动启动和停止你的Postgres数据库服务器。

pg_ctl -D /usr/local/var/postgres start
pg_ctl -D /usr/local/var/postgres stop

终端会以*"服务器启动 ""服务器停止 "的*反馈来确认这些操作。你也可以在每次开机时执行一个脚本来启动服务器,但我喜欢控制何时启动和停止我的数据库服务器,以避免复杂化。

如何创建实际的PostgreSQL数据库

接下来,让我们经历一下设置数据库的步骤,它可以用于你的一个应用程序。首先确保Postgre服务器被启动,然后在命令行中输入这些命令来创建和删除一个数据库:

createdb mydatabase
dropdb mydatabase

你也可以连接到数据库来执行SQL语句。要么使用psql 命令,要么指定一个数据库,如默认的postgres数据库来连接:

psql mydatabase

该命令引导你进入psql shell,你可以通过输入CTRL + d退出。在psql shell中,你也可以创建和删除数据库:

CREATE DATABASE mydatabase;
DROP DATABASE mydatabase;

要列出所有的数据库,你可以输入\list 。你将看到任何新的数据库被列出,以及两个默认的数据库,它们是postgreSQL自带的,叫做template0template1 。这些模板应该保留在你的数据库列表中,即使你不使用它们,因为它们以后可能会有用:

  • \列表 - 列出你所有的实际数据库。
  • \c mydatabase - 连接到另一个数据库。
  • \d - 列出你当前连接的数据库的关系。
  • \d mytablename - 显示一个特定表的信息。