最近想体验一下 PostgreSQL(简称 pgsql 或 pg)数据库,看看这个号称比 MySQL 更强的数据库到底用起来有什么不同。体验之前少不了安装这一环节,所以总结了 PostgreSQL 三种不同的安装方式。
使用 Docker 安装
使用 Docker,或者说使用容器方式安装是我目前最青睐的方式,简单快捷还不污染系统环境。不过这种方式仅推荐在 Linux 系统下使用,macOS 或 Windows 上依赖虚拟机的容器引擎可能会影响使用 PostgreSQL 时的体验。
我目前使用的容器引擎是 Podman,以下会以它来讲解流程。如果你使用的是 Docker 也不用担心,它俩的使用区别 99% 相似。以下使用命令的地方,只要把 podman
换成 docker
就能用。
开始之前需要先创建好数据存储目录:
mkdir -p $HOME/Services/postgresql/data
然后直接拉取镜像并运行 PostgreSQL 数据库服务:
podman run -d \
-e POSTGRES_PASSWORD=123456 \
-v $HOME/Services/postgresql/data:/bitnami/postgresql \
--name postgresql bitnami/postgresql
稍等片刻,PostgreSQL 数据库就运行起来了。理论上来说这完全没有安装过程,算是直接运行了。POSTGRES_PASSWORD
设置的是默认密码,-v
后面是挂载的数据目录。
上面需要注意的是我用的 bitnami/postgresql
这个镜像,在 Docker hub 上搜 postgresql 排名第一的镜像是由 Docker 官方制作的,需要账号认证后才能拉取,我用 Podman 嫌麻烦就选择了第二个。
验证一下安装成果,使用下面的命令进入 PostgreSQL 数据库的 shell 环境:
podman exec -it postgresql psql -U postgres
会提示要输入刚刚启动容器时配置的密码,后面的 -U postgres
是默认用户名称。如果不想使用这个名称可以通过镜像提供的环境变量 POSTGRES_USERNAME
来自定义。镜像提供了很多环境变量,具体可以参考它在 Docker hub 上的详情页面。
使用命令安装
这同样是比较适合 Linux 系统的安装方式,包括 macOS 系统。相对于 Docker 安装,这种直接安装的方式能避免容器网卡所带来的一点点性能损失。
在我使用的 Arch Linux 上,安装命令如下:
sudo pacman -S postgresql
在 Deiban/Ubuntu 上,安装命令大同小异:
sudo apt install postgresql
在 macOS 系统上,可以使用 brew
命令:
brew install postgresql
在 Linux 系统上安装好后,使用 systemctl
命令管理 PostgreSQL 服务的启动和停止。
sudo systemctl status postgresql # 查看数据库运行状态
sudo systemctl enable postgresql # 开机自启
sudo systemctl stop postgresql # 停止服务
sudo systemctl start postgresql # 启动服务
需要注意的是进入 PostgreSQL 的 shell 需要使用 postgres 用户:
sudo -u postgres psql
使用下载安装
下载安装是最适合 Windows 和 macOS 系统的安装方式。直接到官网下载安装包软件:
页面打开后按系统列出了安装包的下载链接:
点击对应的操作系统图标开始下载。下载完成后直接双击开始安装,全程向导交互式安装流程,过程也很简单,这里就不再赘述。