Mac系统下如何安装特定版本PostgreSQL 11.17?
在Mac上安装PostgreSQL 11.17的解决方案
一、源码包选择
直接选postgresql-11.17.tar.gz即可——这是通用的源码压缩包,同目录下的postgresql-11.17.tar.bz2只是压缩格式不同,两者内容完全一致。tar.gz格式在Mac上用系统自带的归档工具就能直接解压,操作更便捷。
二、编译安装步骤
1. 准备编译依赖
Mac上需要先安装Xcode命令行工具,打开终端执行:
xcode-select --install
另外还需要readline、zlib等依赖,用Homebrew安装的话:
brew install readline zlib
2. 编译安装PostgreSQL
- 解压下载好的
postgresql-11.17.tar.gz,进入解压后的目录:
tar -zxf postgresql-11.17.tar.gz cd postgresql-11.17
- 配置编译参数(指定安装路径,比如
/usr/local/pgsql-11.17,方便后续管理):
./configure --prefix=/usr/local/pgsql-11.17
如果遇到依赖找不到的问题,可手动指定依赖路径:
./configure --prefix=/usr/local/pgsql-11.17 \ --with-readline=$(brew --prefix readline) \ --with-zlib=$(brew --prefix zlib)
- 编译并安装:
make sudo make install
3. 初始化并启动服务
- 创建postgres用户(如果系统没有的话):
sudo dscl . -create /Users/postgres sudo dscl . -create /Users/postgres UserShell /bin/bash sudo dscl . -create /Users/postgres RealName "PostgreSQL Server" sudo dscl . -create /Users/postgres UniqueID 502 sudo dscl . -create /Users/postgres PrimaryGroupID 20 sudo dscl . -create /Users/postgres NFSHomeDirectory /usr/local/pgsql-11.17/data
- 初始化数据库:
sudo -u postgres /usr/local/pgsql-11.17/bin/initdb -D /usr/local/pgsql-11.17/data
- 启动服务:
sudo -u postgres /usr/local/pgsql-11.17/bin/pg_ctl -D /usr/local/pgsql-11.17/data start
三、更简便的替代方案
如果不想手动编译,推荐用以下两种方式:
- asdf版本管理工具:安装asdf后添加PostgreSQL插件,直接安装指定版本:
asdf plugin add postgresql asdf install postgresql 11.17 asdf global postgresql 11.17
- Docker容器:拉取11.17的镜像并启动容器,无需修改系统环境:
docker run -d -p 5432:5432 -e POSTGRES_PASSWORD=your_password postgres:11.17
内容的提问来源于stack exchange,提问作者coderllawliet
相关产品推荐
相关产品推荐

