https://github.com/mayurifag/postgresql-db-cleaning-scripts
Make any sql actions with your postgresql dumps and get new gzipped dump
https://github.com/mayurifag/postgresql-db-cleaning-scripts
bash database postgresql script sql
Last synced: 2 months ago
JSON representation
Make any sql actions with your postgresql dumps and get new gzipped dump
- Host: GitHub
- URL: https://github.com/mayurifag/postgresql-db-cleaning-scripts
- Owner: Mayurifag
- Created: 2018-09-30T18:28:54.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-09-30T18:44:40.000Z (over 7 years ago)
- Last Synced: 2025-07-26T07:08:40.260Z (11 months ago)
- Topics: bash, database, postgresql, script, sql
- Language: Shell
- Homepage: https://habr.com/ru/company/southbridge/blog/328056/
- Size: 1.95 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# PostgreSQL DB cleaning scripts
* * *
## Описание
`script.sh` позволяет выполнить сценарии из всех `*.sql` файлов в папке
`actions` с дампом вашей базы данных, находящейся в `.gz` архиве.
Для этого скрипт импортирует дамп в `Postgres` (название новой базы данных
можно посмотреть и поменять внутри скрипта), произведет действия из сценариев
в папке `actions`, а затем создаст новый дамп и архивированную версию.
* * *
## Использование
1. Поместите архивированный дамп базы данных в папку со скриптом.
2. Запустите скрипт при помощи `./script.sh %база_данных.sql.gz%`.
Если аргумент для скрипта не указан, то скрипт запустится для базы данных по
умолчанию (с названием `db.sql.gz`)
Подразумевается, что ваша база данных сконфигурирована с использованием
настроек по умолчанию — она находится на вашем компьютере (`localhost`),
используется стандартный порт 5432, имеется роль `postgres` без пароля.
Если это не так — добавьте или измените отличающиеся параметры в
соответствующих командах `script.sh`.
Вам так же может понадобиться вывод в консоль какой-либо из команд скрипта.
Тогда нужно убрать из нужной команды `&> /dev/null`.
Если вам нужно изменить название временной базы данных, то смените
переменную `$DB` в скрипте. Вам **определенно** не стоит называть её чем-то вроде
`my_super_puper_project_development`.
* * *
## Добавление своего сценария
Для добавления своего сценария вам нужно вписать его в новый `.sql` файл с
понятным названием и положить его в папку `actions`. Больше ничего делать не
нужно, т.к. скрипт автоматически выполнит каждый сценарий из всех `sql` файлов
в папке.
* * *
## TODO
### Скрипт
- Возможность показывать вывод команд в консоли если задан аргумент
`--verbose`
- Исполнять скрипт только если исходный архив существует и имеет размер
больше 0 байт
- Добавить exit code
- Добавить действия которые будут спрашивать пользователя и
переименовывать (при наличии) файлы из `$RESULT_DIR`, если вдруг там имелись
`$RESULT_FILENAME` и `$RESULT_GZIP_FILENAME`
### Сценарии
- Добавить примеры