====== Полезная информация по Postgres SQL ====== ===== Соеденение c БД ===== Управлять Postgres можно через утилку psql запускается она так Для локалки : sudo -u postgres psql --cluster=9.5/main --dbname=БАЗА Для удаленки : psql --host=127.0.0.1 --port=5432 --user=ПОЛЬЗОВАТЕЛЬ --password --dbname=БАЗА ===== Пользователи и Роли PGSQL ===== -- Список пользователей \du -- Создать пользователя с паролем CREATE ROLE "ПОЛЬЗОВАТЕЛЬ" WITH PASSWORD 'ПАРОЛЬ'; -- Разрешить ему логиниться ALTER ROLE "ПОЛЬЗОВАТЕЛЬ" WITH LOGIN; -- Сделать его суперпольователем ALTER ROLE "ПОЛЬЗОВАТЕЛЬ" WITH SUPERUSER; -- Удалить пользователя DROP ROLE "ПОЛЬЗОВАТЕЛЬ" ===== Раздача прав пользователям ====== -- Разрешить пользователю заходить в Базу GRANT ALL ON DATABASE ИМЯБАЗЫ TO ПОЛЬЗОВАТЕЛЬ; -- Отобрать права у пользователя REVOKE ALL PRIVILEGES ON DATABASE ИМЯБАЗЫ FROM ПОЛЬЗОВАТЕЛЬ; ===== Базы данных ====== -- Посмотреть список баз \l -- Сменить Базу \c ИМЯБАЗЫ -- Создать базу данных CREATE DATABASE ИМЯБАЗЫ; ===== Индексы ===== -- Посмотреть список всех индексов 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))); ===== Битовые операции ===== -- Где содержит бит 1 WHERE "flags" | 1 = "flags" -- Где не сожержит бит 2 WHERE "flags" | 2 != "flags" -- Установить 1й бит SET "flags" = "flags" & 1 -- Снять 2й бит SET "flags" = "flags" & ~(2)