zzxworld

PostgreSQL 数据库的三种安装方式

最近想体验一下 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

pgsql shell

会提示要输入刚刚启动容器时配置的密码,后面的 -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 系统的安装方式。直接到官网下载安装包软件:

页面打开后按系统列出了安装包的下载链接:

PostgreSQL Downloads

点击对应的操作系统图标开始下载。下载完成后直接双击开始安装,全程向导交互式安装流程,过程也很简单,这里就不再赘述。