Дочерняя компания «Ростелекома» «РТ лабс» опубликовала документацию проекта по переводу инфраструктуры электронного правительства с СУБД Oracle на российское свободное ПО PostgreSQL, сообщила газета «Ведомости». Проект предполагает модернизацию ИТ-систем, предназначенных для межведомственного обмена информацией, Читать полностью »
Рубрика «postgresql» - 56
Госструктуры откажутся от Oracle в пользу PostgreSQL
2016-08-10 в 8:25, admin, рубрики: oracle, postgresql, базы данных, Госвеб, импортозамещение, Поддержка отечественного ПО, Ростелеком, Текучка, метки: oracle, postgresql, базы данных, Госвеб, импортозамещение, Поддержка отечественного ПО, Ростелеком, ТекучкаСегодня будет небольшой «хак» для ORM Yii2, если вы используете PGPool.
Да, это опять некие костыли (как и в первой моей статье), но мне кажется, что эти (учитывая победное шествие PostgreSQL) могут и пригодится даже большему числу людей.
Все кто работают с PGPool в режиме Master-Slave рано или поздно столкнутся с задачей, когда делать селекты надо непременно из мастера. Благо разработчики о нас позаботились и дали такую возможность. Кто видел схему работы PGPool меня поймут: пишем перед селектом нехитрую строчку /*NO LOAD BALANCE*/ и наш запрос PGpool отправит в мастер базу.
Проблемы начинаются тогда, когда нам нужно использовать ORM.
Читать полностью »
PostgreSQL. Как правильно хранить котов или история одной миграции
2016-08-01 в 8:51, admin, рубрики: postgresql, Блог компании Wargaming, ПрограммированиеИстория взята из реального проекта. Но поскольку реальный проект слишком скучный (и под NDA), в этой статье используется упрощенный пример.
Жил-был один проект. И была у него база данных. И была в базе таблица для хранения, ну, скажем, котов. Вот такая:
CREATE TABLE cats (
id serial,
cname varchar(20),
ctype varchar(20),
primary key(id)
);
Все довольно просто: у каждого кота есть id, имя и некий тип.
Конечно, у нас были бизнес-требования к котам и их типам. Например, мы точно знали, что у нас есть типы big furry, neko и sudden danger. Предполагали, что могут появиться типы long tail и sleeper-eater. Но мы ожидали, что требования будут меняться. И пока не известно, какие в итоге понадобятся типы. Поэтому использовали тип данных varchar(20).
Читать полностью »
Когда использовать неструктурированные типы данных в PostgresSQL? Сравнение Hstore vs. JSON vs. JSONB
2016-07-29 в 7:18, admin, рубрики: json, nosql, postgresqlС тех пор как Postgres начал поддерживать NoSQL (посредством HStore, JSON и JSONB), вопрос о том, когда использовать Postgres в реляционном режиме, а в каких в режиме NoSQL, стал подниматься достаточно часто. Получится ли у вас полностью отказаться от традиционных структур таблиц и работать с представлениями документов в будущем? Смешивать ли оба подхода? Ответ на этот вопрос не удивителен — все зависит от многих факторов. Каждая новая модель хранения данных включая Hstore, JSON и JSONB имеет свои идеальные варианты применения. Тут мы копнём глубже и узнаем об особенностях каждой из них и посмотрим когда что использовать
Видео докладов с DevConf 2016
2016-07-27 в 12:39, admin, рубрики: badoo, devconf, devconf 2016, Lua, mysql, MySQL 5.7, php7, postgresql, tarantool, Блог компании Badoo, Программирование, Разработка веб-сайтов17-го июня в инновационном центре “Сколково” прошла очередная ежегодная конференция DevConf, а Badoo в очередной раз снимали видео выступлений. Программа была богата на именитых спикеров и интересные доклады, поэтому сделать подборку из самых «вкусных» выступлений было крайне сложно. Но мы, как минимум, постарались…
Познавательного вам просмотра!
«Развитие ветки PHP-7», Дмитрий Стогов, Zend Technologies
Релиз DataGrip 2016.2: Импорт CSV, поддержка JSON и XML в строках, динамический SQL, улучшения для PostgreSQL
2016-07-21 в 13:18, admin, рубрики: DataGrip, jetbrains, Microsoft SQL Server, mysql, postgresql, sql, Блог компании JetBrainsПривет! У нас пора релизов. Это пост о том, что интересного в новой версии DataGrip — нашей IDE для SQL. Эти изменения также касаются IntelliJ IDEA, PyCharm, PhpStorm и RubyMine — тех инструментов от JetBrains, где есть поддержка баз данных.
Вот, что мы добавили:
Ускоряем вставку данных из MSSQL на удалённый PostgreSQL в 800 раз
2016-07-19 в 15:48, admin, рубрики: linked server, Microsoft SQL Server, mssql, postgresql, RPCВ процессе развития проекта периодически появляется необходимость обмена данными между серверами баз данных. Предположим, у нас есть источник данных в виде SQL Server и удалённый PostgreSQL сервер, на котором эти данные должны оказаться. После добавления удалённого сервера в качестве linked server, можно делать запросы вида:
INSERT INTO RemotePG...RemoteTable (RecordID, RecordName) VALUES (1,'Test string');
Проблема в том, что такие запросы выполняются очень долго. Если перед нами стоит задача выгрузить десятки и сотни тысяч записей, то время на выполнение стремится к бесконечности. Рассмотрим два с половиной способа вставить данные в таблицу на linked server и сравним время выполнения.
Как думать на SQL?
2016-07-19 в 9:09, admin, рубрики: mysql, postgresql, sql, Администрирование баз данных, база данных, язык запросовНадо “
SELECT * WHERE a=b FROM c
” или “SELECT WHERE a=b FROM c ON *
” ?
Если вы похожи на меня, то согласитесь: SQL — это одна из тех штук, которые на первый взгляд кажутся легкими (читается как будто по-английски!), но почему-то приходится гуглить каждый простой запрос, чтобы найти правильный синтаксис.
А потом начинаются джойны, агрегирование, подзапросы, и получается совсем белиберда. Вроде такой:
SELECT members.firstname || ' ' || members.lastname
AS "Full Name"
FROM borrowings
INNER JOIN members
ON members.memberid=borrowings.memberid
INNER JOIN books
ON books.bookid=borrowings.bookid
WHERE borrowings.bookid IN (SELECT bookid
FROM books
WHERE stock>(SELECT avg(stock)
FROM books))
GROUP BY members.firstname, members.lastname;
Буэ! Такое спугнет любого новичка, или даже разработчика среднего уровня, если он видит SQL впервые. Но не все так плохо.
Легко запомнить то, что интуитивно понятно, и с помощью этого руководства я надеюсь снизить порог входа в SQL для новичков, а уже опытным предложить по-новому взглянуть на SQL.Читать полностью »
PostgreSQL 9.6: Параллелизация последовательного чтения
2016-07-14 в 9:01, admin, рубрики: 9.6, parallel sequential scan, parallelismo, performance, postgresql, PostgreSQL 9.6, метки: 9.6, parallel sequential scan, parallelismoВ течении долгого времени, одним из самых известных несовершенств PostgreSQL была возможность распараллеливания запросов. С выходом версии 9.6 это перестанет быть проблемой. Большая работа была проделана по этому вопросу, и уже начиная с коммита 80558c1, появляется параллелизация последовательного чтения, с которым мы и познакомимся по ходу этой статьи.
Вариант развёртывания Linux систем на базе Puppet 4. Часть V: базы данных (cfdb)
2016-07-07 в 12:04, admin, рубрики: Infrastructure, mysql, open source, postgresql, puppet, системное администрирование
Вкратце:
- cfdb — модуль развёртывания и автонастройки узлов и кластеров баз данных и доступа к ним с высокой доступностью и защитой от сбоев.
- Как proof-of-concept поддерживаются MySQL и PostgreSQL на базе Percona Server/XtraDB Cluster и официальных сборок PostgreSQL+repmgr.
- Изоляция ресурсов на базе cgroups, интеграция с настройками сетевого фильтра через модуль
cfnetwork
и строгий контроль доступа средствами СУБД.- Запись на один узел для минимизации конфликтов и распределение нагрузки для read-only доступа.
- Автоматическая проверка здоровья кластера и фактической осуществимости доступа.
- Ручное и автоматическое локальное резервное копирование, автоматизированное восстановление данных.
- Поддержка автоматической миграции уже существующих баз данных