Summary: Consolidate Postgres commands so that there are only two: repo to set up the Postgres repository and pgdata to create a .tgz file of a pgdata/ directory that is fully set up.
I chose to do all the pgdata related setup (both generic and benchmark-specific) in a single command. However, this does not cause a large break of abstraction. Benchmark-specific logic is included in each benchmark's subclass of LoadInfoBaseClass and is not included in postgres/cli.py.
Added apt_requirements.txt.
Factored save_file() out of open_and_save().
Fixed bug where open_and_save() was saving the codebase dir and not the actual generated dir.
Summary: Consolidate Postgres commands so that there are only two:
repo
to set up the Postgres repository andpgdata
to create a .tgz file of a pgdata/ directory that is fully set up.Demo:
https://github.com/cmu-db/dbgym/assets/20631215/19bbdd28-8bca-4148-a6e1-cf11e3c3463d
Details:
LoadInfoBaseClass
and is not included inpostgres/cli.py
.apt_requirements.txt
.save_file()
out ofopen_and_save()
.open_and_save()
was saving the codebase dir and not the actual generated dir.