Как использовать psql для выполнения SQL запросов из bash-скрипта?

Как передать SQL-запрос в bash-скрипт для быстрого создания базы данных и пользователя с соответствующими правами после авторизации в PostgreSQL с помощью команды `psql`?
  • 18 марта 2024 г. 15:29
Ответы на вопрос 2
Для выполнения SQL запросов из bash-скрипта с помощью `psql`, можно воспользоваться следующим синтаксисом:

```bash
psql -U username -d database_name -c "SQL query;"
```

Где:
- `-U username` - указывает имя пользователя PostgreSQL
- `-d database_name` - указывает имя базы данных PostgreSQL
- `-c "SQL query;"` - указывает SQL запрос, который нужно выполнить

Пример bash-скрипта, который создаст базу данных и пользователя с соответствующими правами:

```bash
#!/bin/bash

# Авторизация в PostgreSQL
psql -U postgres -c "CREATE DATABASE my_database;"
psql -U postgres -c "CREATE USER my_user WITH PASSWORD 'password';"
psql -U postgres -c "GRANT ALL PRIVILEGES ON DATABASE my_database TO my_user;"
```

Запустив этот скрипт, будет создана база данных `my_database`, пользователь `my_user`, и пользователю `my_user` будет предоставлены все привилегии для работы с базой данных `my_database`.
psql -c "DROP TABLE users;"
Похожие вопросы