最近需要使用actix-web来搭建一个web程序,这篇文章是关于搭建web程序的准备工作,

如何在Mac上安装PostgreSQL

  1. 因为本机上已经安装了homebrew 故而使用home brew
    brew install postgresql

  2. 安装的位置如下

/usr/local/var/postgres

  1. 安装成功后已经可以使用命令行

pg_ctl -V

来查看psql的版本,正确显示版本说明已经安装成功了。

  1. 在mac上安装PostgreSQL,需要开启psql的服务,仔细观察安装PostgreSQL的提示,brew已经提示你如何开启服务了。

brew services start postgresql

或者使用

if you don’t want/need a background service you can just run:

pg_ctl -D /usr/local/var/postgres start

对应的使用如下命令来停止PostgreSQL的服务

brew services stop postgresql

也可以根据直接使用如下命令来查看brew启动的服务,不过属于brew的操作,和本文无关

brew services list

  1. 注意,很多文章都说需要在bash 或者zsh中添加环境变量,可能因为是版本的原因,截止我发文时间,是不需要添加envpath的。

  2. 使用

creatdb 创建出一个以当前系统用户名为数据库用户名的数据库

  1. 使用

psql

这时进入数据库控制台,相当于系统用户进入同名的数据库中,终端中会显示

xxxx = #

其中 xxxx 代表当前系统用户名

  1. 以下操作psql下执行

  2. 为当前数据库设置一个密码,默认是没有密码的

\password

按提示输入锁设置的密码就行,注意没有密码似乎不可以授权。

在此之前可以使用 \du来查看当前的所有用户

  1. 创建一个数据库用户 注意以下下三条命令都需要;

CREATE USER dbuser WITH PASSWORD 'password;'

创建成功后会出现

CREATE ROLE

  1. 为数据库用户建立一个数据库 这里创建的数据库是exampledb 数据库的拥有者是dbuser

CREATE DATABASE exampledb OWNER dbuser;

成功后依然有提示

  1. 将exampledb数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。

GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;

成功后也有提示。吐槽一下,这一点也不符合linux哲学,成功后什么也不发生,错误有提示才是真正的liux风格!

  1. \q 退出

  2. 然后使用新用户名 密码 登录

psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432

  1. 接下来可以尝试创建表格 插入数据等工作。之后为SQL操作。

  2. 除了以上的命令行方式,也可以使用官方提供的pgadmin工具,或者DataGrid 工具;这些不包含在本文中。