一学就会 2-1 - 架设Postgres练习环境
为了简化大家设置调试本地服务器,我们这次的教程引入PostgreSQL数据库。上次的SQL Server大家可以继续使用继续练习,大家也可以替换成PostgreSQL,这样dbt的setup部分就会简单很多。
老徐的教程会在Mac下面演示,由于每个人的电脑,环境都不太一样,很难保证教程适用于每个小伙伴,大家需要自己在学习过程中调整命令,设置,这里就不一一解答了。
需要用到的软件 (点击展开)
VSCode:https://code.visualstudio.com/download 开发用的IDE
DBeaver: https://dbeaver.io/download/ 连接数据库跑SQL
不是必需的,但是强烈推荐使用。本教程也会使用到相应的功能。
homebrew:https://docs.brew.sh/Installation 一个软件管理器
Pyenv:https://github.com/pyenv/pyenv 可以下来和管理多个Python环境。可以用homebrew安装,参考这里
pipenv:https://pipenv.pypa.io/en/latest/installation/ 可以把不同的Python开发环境独立开来的工具。
direnv:https://direnv.net/docs/installation.html 可以把环境参数独立开来的工具。可以用homebrew安装,参考这里
这里的四个可选是能让我们把自己的开发环境和系统环境独立出来的东西,可以避免造成没必要的冲突,让大家养成良好的开发习惯和保持project的纯净度。具体安装和使用方式大家自己做一些功课吧。
还没有架起来PostgreSQL的小伙伴可以用以下指令来把服务器跑起来:
docker run --name postgres -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres
密码就用mysecretpassword
,截图中老徐指定了-v参数,大家可以忽略。
Docker里面应该就能看到我们的服务器了:
在DBeaver里面建立一个新的连接,然后连接我们的postgres测试一下。
具体设置其实只需要填写密码就好了,剩下都是默认的,可以记录密码:
左下角测试一下我们的连接是否成功,成功后会显示类似的小窗口:
至此,我们的postgres就在docker里面弄好了。下面我们把sample数据导入postgres。
这边我们用到的学习用数据库是pagila,项目页面可以在这里找到:
在DBeaver里面,我们首先添加一个新的database,取名pagila
,右键点击Databases
,然后选择Create New Database
大家需要在上面的repo里面的两个文件:pagila-schema.sql
和pagila-data.sql
大家可以在下载页面里打包下载所有的东西,最后只需要用到这两个文件就好了。
地址:https://github.com/devrimgunduz/pagila/releases/tag/pagila-v3.1.0
首先我们把schema恢复进去,在terminal里面执行下面的命令,大家注意修改好自己的路径替换掉<local-repo>
整个字段,不知道怎么查找路径的小伙伴可以直接从Finder里面打开相应文件夹,输入cat和空格以后直接拖拽那个文件进入terminal就好了。
恢复schema:
cat <local-repo>/pagila-schema.sql | docker exec -i postgres psql -U postgres -d pagila
导入数据:
cat <local-repo>/pagila-data.sql | docker exec -i postgres psql -U postgres -d pagila
至此,我们的Postgres数据库就准备好了。大家可以在DBeaver里面验证一下现在有没有table和数据。双击任意一个table,然后右边点开Data选项卡
下一课,创建我们的第一个dbt项目