markdown PostgreSQL的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown PostgreSQL的相关的知识,希望对你有一定的参考价值。
# PostgreSQL
В этом файле размещены заметки по PosgreSQL.
## Комментарии
Тут и далее "СУБД" - краткая запись PostgreSQL
Если команда начинается с `$`, то это значит, что она выполняется в bash
Если команда начинается с `username=#`, то это значит, что она выполняется в psql под пользователем username
## Установка
`$ sudo apt-get install postgresql`
## TL;DR; version
```
sudo -u postgres createuser -P <username>
sudo -u postgres createdb <dbname>
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE <dbname> TO <username>;"
psql -h localhost -U kek -d lol
```
or
```
sudo -u postgres psql
postgres=# create database mydb;
postgres=# create user myuser with encrypted password 'mypass';
postgres=# GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
```
## Общие сведения
### Пользователь postgres
При установке СУБД существует только этот пользователь и взаимодействие с СУБД возможно только через него.
### Зайти за пользователя postgres
`$ sudo su - postgres`
### Войти в консоль управления СУБД
`$ psql`
`psql -h localhost -U <username> -d <password>`
### Сразу зайти в консоль за пользователя
`$ sudo -u postgres psql`
## Команды в psql
### Выйти из консоли
`postgres=# \q`
### Посмотреть всех пользователей СУБД
`postgres=# \du`
### Посмотреть все таблицы ьекущей БД
`postgres=# \dt`
## Работа с пользователями
### Создать пользователя:
`$ sudo -u postgres createuser <username>`
`$ sudo -u postgres createuser -P <username>` (С заданием пароля)
`postgres=# CREATE USER <username> PASSWORD '<password>';`
### Удалить пользователя:
`$ sudo -u postgres dropuser <username>`
`postgres=# DROP USER <username>;`
### Сменить пароль пользователя
`postgres=# ALTER USER <username> PASSWORD '<new password>';`
### Дать пользователю привилегии
`postgres=# ALTER USER <username> CREATEDB CREATEROLE CREATEUSER;`
В данном случае - на Создание БД, Создание Ролей и Создание пользователей
## Работа с Базами данных
### Создать базу данных
`sudo -u postgres createdb <dbname>`
### Дать пользователю права на БД
`postgres=# grant all privileges on database <dbname> to <username> ;`
### Удалить БД
`$ sudo -u postgres dropdb <dbname>`
## Dumps
### Создать dump
- [Документация](https://postgrespro.ru/docs/postgrespro/9.5/app-pgdump)
Для создания дампа БД используется команда `pg_dump`:
`pg_dump <db> > <filename.sql>`
Для запуска от пользователя, используйте параметр -U <user>
`pg_dump -U <user> <db> > <filename.sql>`
Для того, чтобы при загрузке дампа База данных была накачена с нуля, используется параметр --clean
`pg_dump <db> --clean > <filename.sql>`
### Восстановление
Для восстановления БД используется следующая команда:
`psql <db> < <filename.sql>`
以上是关于markdown PostgreSQL的的主要内容,如果未能解决你的问题,请参考以下文章