如何在 MacOS 上安装 PostgreSQL ?

PostgreSQL 是一个开源的数据库管理系统(DBMS)因其可靠性、性能和可扩展性而被广泛使用。它也被称为第三代 DBMS,因为它将数据保存在二级存储而不是内存,性能下降也不多,也没有与动态内存分配相关问题。在本文中,我们将向您展示如何在 macOS 安装 PostgreSQL 数据库系统。

Installing Homebrew

第一步,安装 Homebrew,这是一个 macOS 的包管理器。

打开终端,执行如下命令:

复制代码
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

你会看到一堆文本飞过,信息停止后,会提示你将 Terminal 的路径添加到 PATH 环境变量。您可以通过输入"export PATH=/usr/local/bin:/usr/local/sbin:$PATH"来完成,然后按回车键。

Installing PostgreSQL

安装 Homebrew 后,首先搜索可用的 PostgreSQL 服务器版本

复制代码
brew search postgresql

选择一个需要安装的 PostgreSQL 版本,例如:安装 PostgreSQL 14,执行如下命令:

复制代码
brew install postgresql@14

如果需要升级已安装的 PostgreSQL(升级到次要版本),使用如下命令:

复制代码
brew upgrade postgresql@14

启动 PostgreSQL 服务,使用如下命令:

复制代码
brew services start postgresql@14

停止 PostgreSQL 服务,使用如下命令:

复制代码
brew services stop postgresql@14

重启 PostgreSQL 服务,使用如下命令:

复制代码
brew services restart postgresql@14

Login to PostgreSQL

psql 是用于管理 Postgres 数据库服务器的命令行实用程序。PostgreSQL 默认自带一个名为"postgres"的数据库,用于登录服务器。登录 Postgres 终端,执行以下命令:

复制代码
psql postgres

登录 Postgres 终端后,你可以用下面的命令检查可用的数据库:

复制代码
\l

默认安装创建一个名为"admin"的超级用户,这是默认的"postgres"数据库的所有者。使用下面的命令列出所有可用的用户。

复制代码
\du

Creating User

可以使用"CREATE ROLE"添加一个新的角色(用户),或者使用"createuser"命令行工具来创建它。

复制代码
createuser --interactive --pwprompt

这将提示输入以下详细信息:

  • 新角色(用户)的名称
  • 为新角色输入密码
  • 重新输入新角色的密码
  • 按"n",不提供超级管理员权限
  • 按"y"键提供创建数据库的权限
  • 按"n"表示不允许创建新角色

添加新用户后,使用以下命令以新用户身份登录。

复制代码
psql postgres -U tecadmin -W

将"tecadmin"更改为您的用户名。当前用户没有任何相关的数据库,因此上面的命令将连接到"postgres"数据库,按Enter 键并输入密码。

Creating Database

使用以下命令创建一个新数据库。

复制代码
CREATE DATABASE tecadmin;

创建数据库后,列出 postgres 服务器中的所有数据库。

复制代码
\du

我的开源项目

相关推荐
这个DBA有点耶36 分钟前
分布式数据库到底该不该上?从判断标准到架构选型的实战思考
数据库·架构·dba
mCell1 小时前
谁在为 AI 开车:Agent 浏览器生态调研(2026)
chrome·macos·agent
01_ice1 小时前
MySQL库和表的操作
数据库·mysql
布莱克6052 小时前
数据库索引分类:数据结构、物理存储与逻辑角度详解
数据结构·数据库
SelectDB2 小时前
DeepSeek Harness 接入 Litefuse:完善 Agent 可观测与评估能力
数据库
这个DBA有点耶3 小时前
从库延迟的“二次放大”效应:一次大事务,拖垮整个读写分离
数据库·mysql·架构
LearnYard3 小时前
自然语言驱动的数据图表生成:几款工具功能对比实践
数据库·百度·powerpoint
一个有温度的技术博主4 小时前
MySQL 三大日志协同机制:redo log、undo log 与 binlog 的联合运作
数据库·mysql·oracle
ltl4 小时前
ClickHouse 与 DuckDB 选型:不是同一类列存
数据库
ltl4 小时前
RocksDB WAL 与 WriteBatch:持久化与原子批写
数据库