Кстати перед дебатами соотношение голосов было тоже примерно 55 на 45, но после всё поменялось
Forwarded from DIGITAL XYИGITAL
подготовили пресс-релиз для тупеньких, чтобы ты с тренда не сплыл ненароком
PostgreSQL
Решил поделиться радостью использования PostgreSQL. Постгрес просто песня - он бесплатный, мощный, быстрый, имеет подробнейшую документацию. Ну и как же удобно пользоваться Постгресом после любой другой субд. Работа с датами вообще отдельный кайф:
Округлить время до даты
Округлить время до месяца
Получить вчерашнюю дату
Группировка количества новых пользователей по дням
2019-12-22 00:00:00.000000 8235
#PostgreSQL #db
Решил поделиться радостью использования PostgreSQL. Постгрес просто песня - он бесплатный, мощный, быстрый, имеет подробнейшую документацию. Ну и как же удобно пользоваться Постгресом после любой другой субд. Работа с датами вообще отдельный кайф:
Округлить время до даты
(timestamp '2020-06-12 20:11')::date;
2020-06-12Округлить время до месяца
date_trunc('month', timestamp '2020-06-12 20:11');
2020-06-01 00:00:00Получить вчерашнюю дату
NOW() - INTERVAL '1 DAY’;
2019-12-22 22:01:20.169710Группировка количества новых пользователей по дням
date_trunc('day', date_add),
count(1)
from client
group by 1;
2019-12-23 00:00:00.000000 332019-12-22 00:00:00.000000 8235
#PostgreSQL #db
Как установить PostgreSQL
На мак постгря ставится одной командой
Дальше всё тоже красиво.
Создать базу
Создать пользователя
Дать права пользователю
Подключиться к базе
Выход
#PostgreSQL #db
На мак постгря ставится одной командой
brew install postgresql
Дальше всё тоже красиво.
Создать базу
postgres=# CREATE DATABASE DB_NAME;
Создать пользователя
postgres=# CREATE USER USER_NAME WITH password ‘pass’;
Дать права пользователю
postgres=# GRANT ALL ON DATABASE DB_NAME TO USER_NAME;
Подключиться к базе
postgres=# \c DB_NAME
Выход
DB_NAME=# \q
Источник: https://900913.ru/note/b/postgresql-macos-9da176/#PostgreSQL #db
Пока готовил посты, наткнулся на статью «Курс молодого бойца PostgreSQL»
habr.com/ru/post/340460/
habr.com/ru/post/340460/
Друган Вован говорит, что не хватает инфы для хардкорных девов. Ну и накинул от себя, чем PostgreSQL хорош
15 плюсов PostgreSQL
1. Бесплатный, шустрый и очень распространенный
2. Для него куча документаций, книг, туториалов, статей, уроков
3. Установить в линуксе можно одной командой без дрочки с настройкой
4. В нем есть postgis, fts, jsonb, gin/gist. В новых версиях завозят приятный сахар
5. Материализованные вьюхи, обновление строк через обновление вьюх, fdw тоже норм
6. Покрывающие индексы, функциональные индексы
7. В нем есть? наверное всё, что есть в платных бд
8. Под него написано куча всего - адаптеров, расширений, приложений (балансировщики, репликаторы), поддерживается средствами разработки
9. В нем есть мощные оконные и прочие функции. Параллелизируемость запросов
10. Один из самых крутых опенсорс проектов. В него влито нереально большое количество сил кучи контрибьюторов. 20 лет назад никто не мог подумать, что PostgreSQL станет топовой СУБД и не будет уступать дорогущим проприетарным базам
11. И в постгресе лучше MVCC сделано, чем в оракл
12. А еще язык pg/plsql просто бомба
13. Ну и в нём можно свои типы объявлять
14. Постгря разрешает группировать по любому выражению, а не только по имеющимся колонкам
15. Одной рукой пишу запрос, второй рукой слезу счастья вытираю
1. Бесплатный, шустрый и очень распространенный
2. Для него куча документаций, книг, туториалов, статей, уроков
3. Установить в линуксе можно одной командой без дрочки с настройкой
4. В нем есть postgis, fts, jsonb, gin/gist. В новых версиях завозят приятный сахар
5. Материализованные вьюхи, обновление строк через обновление вьюх, fdw тоже норм
6. Покрывающие индексы, функциональные индексы
7. В нем есть? наверное всё, что есть в платных бд
8. Под него написано куча всего - адаптеров, расширений, приложений (балансировщики, репликаторы), поддерживается средствами разработки
9. В нем есть мощные оконные и прочие функции. Параллелизируемость запросов
10. Один из самых крутых опенсорс проектов. В него влито нереально большое количество сил кучи контрибьюторов. 20 лет назад никто не мог подумать, что PostgreSQL станет топовой СУБД и не будет уступать дорогущим проприетарным базам
11. И в постгресе лучше MVCC сделано, чем в оракл
12. А еще язык pg/plsql просто бомба
13. Ну и в нём можно свои типы объявлять
14. Постгря разрешает группировать по любому выражению, а не только по имеющимся колонкам
15. Одной рукой пишу запрос, второй рукой слезу счастья вытираю
Какую БД используете чаще всего?
Anonymous Poll
43%
PostgreSQL
21%
MySQL/MariaDB
11%
MS SQL
17%
Oracle
8%
NoSQL
Запускаем PostgreSQL в докере
Стягиваем образ с докер хаба
Создаём папку, куда постгря будет складывать данные
Запускаем контейнер
При первом запуске он скачает с докер хаба образ, а потом за секунду стартует. Запуск контейнера просит sudo права. Плюс надо заранее поставить пакет docker.io. Так можно одновременно держать несколько версий постгре рядом без дикой боли.
Источник: https://hackernoon.com/dont-install-postgres-docker-pull-postgres-bee20e200198
Стягиваем образ с докер хаба
pull postgres
Создаём папку, куда постгря будет складывать данные
-p $HOME/docker/volumes/postgres
Запускаем контейнер
run --rm --name pg-docker -e POSTGRES_PASSWORD=docker -d -p 5432:5432 -v $HOME/docker/volumes/postgres:/var/lib/postgresql/data postgres
-rm
— удаляем контейнер после выхода-name
— задаём имя контейнеру-e
— задаём переменные окружения: имя базы, пользователя, пароль-d
— запускаем контейнер фоном-p
— прокидываем порт наружу-v
— монтируем созданную ранее папку по адресу, который постгре использует по-дефолтуПри первом запуске он скачает с докер хаба образ, а потом за секунду стартует. Запуск контейнера просит sudo права. Плюс надо заранее поставить пакет docker.io. Так можно одновременно держать несколько версий постгре рядом без дикой боли.
Источник: https://hackernoon.com/dont-install-postgres-docker-pull-postgres-bee20e200198