macOS通过Homebrew安装PostgreSQL

2024/03/31

在macOS上安装和配置PostgreSQL是一个相对简单的过程,可以通过多种方法进行。以下是详细的步骤和信息,帮助您在macOS上安装和配置PostgreSQL。

1. 安装PostgreSQL

使用Homebrew安装

Homebrew是macOS上的一个流行包管理器,可以用来安装PostgreSQL。以下是使用Homebrew安装PostgreSQL的步骤:

  • 安装Homebrew:

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

    运行上述命令以安装Homebrew。

  • 查找可用的PostgreSQL版本:

    brew search postgresql
    

    这将列出所有可用的PostgreSQL版本。

  • 安装指定版本的PostgreSQL:

    brew install postgresql@15
    

    上述命令将安装PostgreSQL 15版本。您可以替换15为您需要的任何版本号。

使用dmg安装包安装

  • 下载PostgreSQL:
    访问EnterpriseDB的下载页面,下载适用于macOS的PostgreSQL安装包。

  • 创建postgres用户 (如果需要):

    sudo dscl . -create /Users/postgres UserShell /bin/bash
    sudo dscl . -create /Users/postgres UniqueID "5001"
    sudo dscl . -create /Users/postgres RealName "postgres"
    sudo dscl . -passwd /Users/postgres 1024
    

    上述命令将创建一个名为postgres的用户,设置用户ID为5001,并设置初始密码为1024

  • 启动安装向导:
    双击下载的dmg文件并启动安装向导。

  • 按照安装向导进行安装:

    • 选择安装目录
    • 选择要安装的组件
    • 指定数据存储目录
    • 设置postgres用户密码
    • 指定服务器监听端口(默认为5432)
    • 选择区域设置
    • 查看并确认安装信息
    • 开始安装

2. 配置PostgreSQL

使用Homebrew安装后的配置

  • 启动PostgreSQL服务:

    brew services start postgresql@15
    

    上述命令将启动PostgreSQL服务。确保使用您安装的版本号替换15

  • 添加环境变量:

    echo 'export PATH="/opt/homebrew/opt/postgresql@15/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
    

    上述命令将PostgreSQL的bin目录添加到您的PATH环境变量中,以便在任何位置都能访问psql和其他PostgreSQL工具。

使用dmg安装包安装后的配置

  • 添加环境变量:
    echo 'export PATH="/Library/PostgreSQL/15/bin:$PATH"' >> ~/.zshrc
    source ~/.zshrc
    
    上述命令将PostgreSQL的bin目录添加到您的PATH环境变量中。

3. 基础使用

  • 连接到PostgreSQL:

    psql -U postgres
    

    使用上述命令连接到PostgreSQL数据库。如果您创建了postgres用户,您需要使用该用户的密码进行登录。

  • 创建新数据库:

    CREATE DATABASE mydatabase;
    

    在PostgreSQL提示符下运行上述SQL命令以创建新数据库。

  • 切换数据库:

    \c mydatabase
    

    使用\c命令切换到指定的数据库。

4. 加载示例数据库

结论

以上步骤和信息涵盖了在macOS上安装、配置和使用PostgreSQL的基本过程。无论是通过Homebrew还是dmg安装包,都可以方便地在macOS上设置和运行PostgreSQL。如果您在安装或配置过程中遇到任何问题,请参考官方文档或搜索相关社区和论坛获取帮助。