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的的主要内容,如果未能解决你的问题,请参考以下文章

markdown PostgreSQL的

markdown PostgreSQL命令行备忘单

markdown Postgresql杀挂查询

markdown 更改postgreSQL用户密码

markdown 更改postgreSQL用户密码

markdown PostgreSQL索引提示