works:programmer:db-postgres:index

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
works:programmer:db-postgres:index [2020/03/03 14:02]
Chugreev Eugene
works:programmer:db-postgres:index [2020/05/05 15:34] (current)
Chugreev Eugene
Line 1: Line 1:
 ====== Полезная информация по Postgres SQL ====== ====== Полезная информация по Postgres SQL ======
 +===== Соеденение c БД =====
 Управлять Postgres можно через утилку psql запускается она так Управлять Postgres можно через утилку psql запускается она так
  
-Для локалки : <code sh>sudo -u postgres psql --cluster=9.5/main --dbname=БАЗА</code> +Для локалки : <code bash>sudo -u postgres psql --cluster=9.5/main --dbname=БАЗА</code> 
-Для удаленки : <code sh>psql --host=127.0.0.1 --port=5432 --user=ПОЛЬЗОВАТЕЛЬ --password --dbname=БАЗА+Для удаленки : <code bash>psql --host=127.0.0.1 --port=5432 --user=ПОЛЬЗОВАТЕЛЬ --password --dbname=БАЗА</code>
  
-====== Пользователи и Роли PGSQL ======+===== Пользователи и Роли PGSQL =====
 <code sql> <code sql>
 +-- Список пользователей
 +\du
 -- Создать пользователя с паролем -- Создать пользователя с паролем
 CREATE ROLE "ПОЛЬЗОВАТЕЛЬ" WITH PASSWORD 'ПАРОЛЬ'; CREATE ROLE "ПОЛЬЗОВАТЕЛЬ" WITH PASSWORD 'ПАРОЛЬ';
Line 21: Line 24:
 -- Разрешить пользователю заходить в Базу -- Разрешить пользователю заходить в Базу
 GRANT ALL ON DATABASE ИМЯБАЗЫ TO ПОЛЬЗОВАТЕЛЬ; GRANT ALL ON DATABASE ИМЯБАЗЫ TO ПОЛЬЗОВАТЕЛЬ;
 +
 +-- Отобрать права у пользователя
 +REVOKE ALL PRIVILEGES ON DATABASE ИМЯБАЗЫ FROM ПОЛЬЗОВАТЕЛЬ;
 +
 </code> </code>
  
Line 27: Line 34:
 -- Посмотреть список баз -- Посмотреть список баз
 \l \l
 +-- Сменить Базу
 +\c ИМЯБАЗЫ
 -- Создать базу данных  -- Создать базу данных 
-CREATE DATABASE имя_базы;+CREATE DATABASE ИМЯБАЗЫ;
  
 </code> </code>
 +
 +===== Индексы =====
 +<code sql>
 +-- Посмотреть список всех индексов
 +SELECT tablename, indexname, indexdef FROM pg_indexes WHERE schemaname = 'public' ORDER BY tablename, indexname
 +
 +-- Создать первичный ключ
 +ALTER TABLE таблица ADD PRIMARY KEY (id)
 +
 +-- Создать обычный BTREE ключ
 +CREATE INDEX ON таблица (id) USING BTREE
 +
 +-- Создать уникальный lowercase индекс
 +CREATE UNIQUE INDEX users_username_lower ON users ((lower(username)));
 +</code>
 +
 +===== Битовые операции =====
 +<code sql>
 +-- Где содержит бит 1
 +WHERE "flags" | 1 = "flags"
 +-- Где не сожержит бит 2
 +WHERE "flags" | 2 != "flags"
 +
 +-- Установить 1й бит
 +SET "flags" = "flags" & 1
 +
 +-- Снять 2й бит
 +SET "flags" = "flags" & ~(2)
 +
 +</code>
 +
 +
works/programmer/db-postgres/index.1583244133.txt.gz · Last modified: 2020/03/03 14:02 by Chugreev Eugene