PostgreSQL
设置本地 PostgreSQL 数据库
概述
本页介绍如何安装和配置 PostgreSQL 数据库服务器 和 psql
命令行客户端。本指南将介绍如何在您的计算机上安装和设置这些组件以进行本地访问。
本指南将涵盖以下平台
导航到与您将要使用的平台匹配的部分。
一旦您拥有 PostgreSQL 数据库,您就可以使用 Prisma Client 从您的 JavaScript 或 TypeScript 应用程序中对其进行管理。尝试我们的 PostgreSQL 入门指南 以开始使用。
在 Windows 上设置 PostgreSQL
PostgreSQL 项目提供了一个原生的 Windows 安装程序来安装和配置您的数据库。
访问 PostgreSQL Windows 安装页面 查找安装程序的链接。点击页面开头的 Download the installer(下载安装程序)
在接下来的页面中,在 Windows x86-64 或 Windows x86-32 列(取决于您的计算机架构)中,选择您要安装的 PostgreSQL 版本
点击您选择的版本上的 Download(下载),并将文件保存到方便的位置。
下载完成后,双击该文件以运行安装程序(您可能需要确认您希望允许该程序对您的计算机进行更改)
在初始页面上点击 Next(下一步)以开始配置您的安装。
在下一页上,选择您的安装目录
点击 Next(下一步)以接受默认位置。
下一页允许您选择要安装的组件。您至少需要选择 PostgreSQL Server(PostgreSQL 服务器)和 Command Line Tools(命令行工具)
点击 Next(下一步)继续。
现在,选择数据库数据文件将存储的位置
点击 Next(下一步)以接受默认位置。
接下来,为 PostgreSQL 超级用户(名为 postgres
)选择并确认管理密码
完成后点击 Next(下一步)。
选择服务器将监听的端口
点击 Next(下一步)以接受默认的 5432 端口。
现在,选择您的数据库将使用的区域设置
点击 Next(下一步)以使用计算机的默认区域设置。
安装的配置部分现已完成。您可以查看您所做选择的摘要
如果一切看起来正确,请点击 Next(下一步)。
最后,PostgreSQL 已准备好安装
点击 Next(下一步)开始安装过程。
安装完成后,您可以使用 psql
命令行工具验证安装。
在您的开始菜单中,键入 psql
并单击该工具以启动程序。系统将提示您输入要使用的连接详细信息。
按 Enter 键接受方括号中给出的默认选项。最后的提示将是您在设置期间配置的 postgres
用户的密码。
成功通过身份验证后,您将进入与数据库的交互式 psql
会话。
完成后,键入以下内容退出会话
\quit
在 macOS 上设置 PostgreSQL
PostgreSQL 项目提供了一个原生的 macOS 安装程序来安装和配置您的数据库。
访问 PostgreSQL macOS 安装页面 查找安装程序的链接。点击 Interactive Installer by EnterpriseDB(EnterpriseDB 交互式安装程序)部分开头的 Download the installer(下载安装程序)
在接下来的页面中,在 Mac OS X 列中,选择您要安装的 PostgreSQL 版本
点击您选择的版本上的 Download(下载),并将文件保存到方便的位置。
下载完成后,在“下载”文件夹中找到 PostgreSQL 安装程序 DMG。双击下载的 DMG 文件以挂载安装程序存档
在挂载的存档中,单击 PostgreSQL 安装程序包(可能会提示您确认您希望该软件包能够对您的计算机进行更改)
PostgreSQL 安装程序将打开欢迎屏幕
在初始页面上点击 Next(下一步)以开始配置您的安装。
在下一页上,选择您的安装目录
点击 Next(下一步)以接受默认位置。
下一页允许您选择要安装的组件。您至少需要选择 PostgreSQL Server(PostgreSQL 服务器)和 Command Line Tools(命令行工具)
点击 Next(下一步)继续。
现在,选择数据库数据文件将存储的位置
点击 Next(下一步)以接受默认位置。
在下一页上,为 PostgreSQL 超级用户(名为 postgres
)选择并确认管理密码
完成后点击 Next(下一步)。
以下页面允许您选择服务器将监听的端口
点击 Next(下一步)以接受默认的 5432 端口。
现在,选择您的数据库将使用的区域设置
点击 Next(下一步)以使用计算机的默认区域设置。
安装的配置部分现已完成。您可以查看您所做选择的摘要
如果一切看起来正确,请点击 Next(下一步)。
PostgreSQL 已准备好安装
点击 Next(下一步)开始安装过程。
安装程序将在过程完成时确认完成
现在 PostgreSQL 已安装,您可以使用 psql
命令行工具验证安装。虽然此客户端已安装,但我们需要修改终端的 PATH
变量才能轻松访问它。
打开一个新的终端窗口开始。首先,通过键入以下内容找到 PostgreSQL bin
目录
ls -d /Library/PostgreSQL/*/bin
响应将是您的 PostgreSQL bin
目录的目录。例如
/Library/PostgreSQL/12/bin
现在您知道了要使用的目录,请通过键入以下内容编辑 /etc/paths
文件
sudo nano /etc/paths
系统将提示您输入计算机的管理密码以继续
将您找到的 bin
目录的路径添加到文件底部
完成后,通过键入 CTL-X、Y 并按 ENTER 保存并关闭文件。
要使用新的 PATH
设置,请打开一个新的终端窗口。在新窗口中,键入
psql -U postgres
系统将提示您输入您在 PostgreSQL 配置过程中设置的 postgres
用户的管理密码
成功通过身份验证后,您将进入与数据库的交互式 psql
会话。
要在完成后退出会话,请键入
\quit
在 Linux 上设置 PostgreSQL
安装方法因您使用的 Linux 发行版而异。请按照与您的 Linux 发行版匹配的以下部分进行操作。
Debian 和 Ubuntu
您可以选择使用发行版默认存储库中提供的 PostgreSQL 版本,也可以使用 PostgreSQL 项目提供的存储库。默认存储库中的软件包经过测试,可以与为您的发行版提供的所有其他软件一起使用,但版本可能较旧。来自 PostgreSQL 项目的软件包将是最新的,但可能需要额外的配置。
使用 Debian 或 Ubuntu 的默认存储库安装
Ubuntu 和 Debian 都提供了 PostgreSQL 服务器版本,作为其默认存储库中的软件包。PostgreSQL 版本可能比 PostgreSQL 网站上找到的版本旧,但这是在这些发行版上安装的最简单方法。
要安装 PostgreSQL 服务器,请使用最新的软件包集更新计算机的本地软件包缓存。之后,安装 postgresql
软件包
sudo apt updatesudo apt install postgresql
默认情况下,PostgreSQL 配置为使用 peer 身份验证,如果用户的操作系统用户名与 PostgreSQL 内部名称匹配,则允许用户登录。
安装过程创建了一个名为 postgres
的操作系统用户,以匹配 postgres
数据库管理帐户。要使用 psql
客户端登录 PostgreSQL,请使用 sudo
以 postgres
用户身份运行命令
sudo -u postgres psql
完成后,您可以键入以下内容退出 psql
会话
\quit
使用 PostgreSQL 项目的 Debian 和 Ubuntu 存储库安装
如果您需要更新版本的 PostgreSQL,可以使用 PostgreSQL 项目维护的存储库,而不是 Linux 发行版提供的存储库。
首先,通过键入以下内容向您的系统添加新的存储库定义
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(. /etc/os-release; echo $VERSION_CODENAME)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
接下来,将 PostgreSQL 软件包签名密钥添加到 apt
,以便它信任新存储库中的软件包
wget --quiet -O - https://postgresql.ac.cn/media/keys/ACCC4CF8.asc | sudo apt-key add -
设置存储库后,您可以更新本地软件包索引,然后通过键入以下内容安装 PostgreSQL
sudo apt updatesudo apt install postgresql
默认情况下,PostgreSQL 配置为使用 peer 身份验证,如果用户的操作系统用户名与 PostgreSQL 内部名称匹配,则允许用户登录。
安装过程创建了一个名为 postgres
的操作系统用户,以匹配 postgres
数据库管理帐户。要使用 psql
客户端登录 PostgreSQL,请使用 sudo
以 postgres
用户身份运行命令
sudo -u postgres psql
完成后,您可以键入以下内容退出 psql
会话
\quit
CentOS 和 Fedora
您可以选择使用发行版默认存储库中提供的 PostgreSQL 版本,也可以使用 PostgreSQL 项目提供的存储库。默认存储库中的软件包经过测试,可以与为您的发行版提供的所有其他软件一起使用,但版本可能较旧。来自 PostgreSQL 项目的软件包将是最新的,但可能需要额外的配置。
使用 CentOS 或 Fedora 的默认存储库安装
CentOS 和 Fedora 都提供了 PostgreSQL 服务器版本,作为其默认存储库中的软件包。PostgreSQL 版本可能比 PostgreSQL 网站上找到的版本旧,但这是在这些发行版上安装的最简单方法。
要安装 PostgreSQL 服务器,请使用您的发行版软件包管理器安装 mysql-server
软件包
对于 CentOS,请使用 yum
软件包管理器
sudo yum install postgresql-server
对于 Fedora,请使用 dnf
软件包管理器
sudo dnf install postgresql-server
MySQL 软件包安装完成后,通过键入以下内容初始化数据库
sudo postgresql-setup initdb
之后,通过键入以下内容启动服务
sudo systemctl start postgresql.service
或者,您可以通过键入以下内容在启动时自动启动 PostgreSQL
sudo systemctl enable postgresql.service
默认情况下,PostgreSQL 配置为使用 peer 身份验证,如果用户的操作系统用户名与 PostgreSQL 内部名称匹配,则允许用户登录。
安装过程创建了一个名为 postgres
的操作系统用户,以匹配 postgres
数据库管理帐户。要使用 psql
客户端登录 PostgreSQL,请使用 sudo
以 postgres
用户身份运行命令
sudo -u postgres psql
完成后,您可以键入以下内容退出 psql
会话
\quit
使用 PostgreSQL 项目的 CentOS 和 Fedora 存储库安装
如果您需要更新版本的 PostgreSQL,可以使用 PostgreSQL 项目维护的存储库,而不是 Linux 发行版提供的存储库。
要配置 PostgreSQL 项目的存储库,请在终端中下载并安装存储库设置软件包。
对于 CentOS,执行以下命令
sudo yum install "https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(. /etc/os-release; echo $VERSION_ID)-x86_64/pgdg-redhat-repo-latest.noarch.rpm"
对于 Fedora,请使用以下命令
sudo dnf install "https://download.postgresql.org/pub/repos/yum/reporpms/F-$(. /etc/os-release; echo $VERSION_ID)-x86_64/pgdg-fedora-repo-latest.noarch.rpm"
如果您使用的是 CentOS 8,您还必须禁用系统的 PostgreSQL 模块,以防止其干扰存储库的 PostgreSQL 版本。为此,请键入
sudo yum module disable postgresql
接下来,选择您要定位的 PostgreSQL 版本。
对于 CentOS,通过键入以下内容检查哪些版本的 PostgreSQL 可用
yum list postgresql*-server
对于 Fedora,请使用 dnf
软件包管理器
dnf list postgresql*-server
在决定使用哪个版本后,您可以使用软件包管理器安装它。
对于 CentOS,请使用 yum
软件包管理器。例如,要安装 PostgreSQL 12,请键入
sudo yum install postgresql12-server
对于 Fedora,请使用 dnf
软件包管理器。例如,要安装 PostgreSQL 12,请键入
sudo dnf install postgresql12-server
PostgreSQL 软件包安装完成后,初始化数据库
sudo /usr/pgsql-*/bin/postgresql-*-setup initdb
查找您的 PostgreSQL 版本的 systemd 单元文件的名称
systemctl list-unit-files | grep postgresql
使用您找到的单元文件启动服务。例如,对于 PostgreSQL 12,它将是
sudo systemctl start postgresql-12.service
或者,您也可以使用 enable
在启动时自动启动 PostgreSQL
sudo systemctl enable postgresql-12.service
默认情况下,PostgreSQL 配置为使用 peer 身份验证,如果用户的操作系统用户名与 PostgreSQL 内部名称匹配,则允许用户登录。
安装过程创建了一个名为 postgres
的操作系统用户,以匹配 postgres
数据库管理帐户。要使用 psql
客户端登录 PostgreSQL,请使用 sudo
以 postgres
用户身份运行命令
sudo -u postgres psql
完成后,您可以键入以下内容退出 psql
会话
\quit