Блоги

Перевод документации

Изображение Ishayahu

Так как до админа у меня достучаться не получилось то я продолжаю выкладывать перевод отсутствующих разделов документации в блоге

Замена механизма CAPTCHA на сайте

Из-за того, что в последнее время на сайте стало регистрироваться просто бешеное количество пользователей, пишуших спам, было принято решение изменить механизм CAPTCHA при регистрации новых пользователей. Теперь вместо того, чтобы ввести символы с картинки, необходимо ответить на один из простых вопросов, ответы на которые очевидны любому русскому или живущему (жившему) в России человеку. Если у кого-либо не получается зарегистрироваться, несмотря на правильно введённый ответ, воспользуйтесь обратной связью, где подробно опишите, что не работает и что вводите.

ОШИБКА: неверная последовательность байт для кодировки "WIN1251": 0x00 ОПЕРАТОР: INSERT INTO

БД сервера событий была перенесена из PostgreSQL 8.3 на PostgreSQL 9.1.4. Сервер, развернутый на Windows платформе, не мог с ней работать, т.к. установщик PostgreSQL 9.1.4 создает шаблон базы с использованием кодировки UTF8 и, сответственно, новая БД не могла быть создана с требуемой сервером кодировкой WIN1251. Кластер баз данных был проинициализирован, кодировка задана WIN1251, создана новая БД в которую была восстановлена старая БД из бэкапа. Сервер запустился, все работает, но PostgreSQL теперь засыпает лог приложений системы ошибками вида:

Админский подход

Эта статья не имеет прямого отношения к PostgreSQL, но описанный в ней подход может с успехом применяться к любому программному продукту. В статье рассматривается подход к проблеме с точки зрения системного администратора, а также я на своём опыте расскажу о том, что любят системные администраторы, а что нет, при общении на форуме.

Добавить к дате переменный интервал

Изображение msi

Столкнулся с необходимостью добавить к дате интервал, представляющий собой выражение (например, значение некоторого столбца). Проблему можно проиллюстрировать следующим псевдокодом:

SELECT current_timestamp + (2*2 day)

С константами проблем нет:

SELECT current_timestamp + interval '4 day'

Напрягало то, что использование выражений допустимо в аналогичных решениях SQL Server (функция DATEADD, см. пример 7.1.1) и более близких к стандарту MySQL:

Время в минутах между двумя датами

Изображение msi

Вчера адаптировал решение одной задачи под PostgreSQL.
В частности, требовалось вычислить интервал времени в минутах между двумя датами.
В SQL Server это можно сделать, применив встроенную функцию DateDiff:

SELECT datediff (minute, '2011-10-07T23:43:00', '2011-10-08T01:23:00');

В PG я не нашел ничего лучше как представить разность между датами интервалом, извлечь из него число секунд, и, наконец, поделить на 60, чтобы выразить результат в минутах. Итого:

Упражнения на SQL-EX для PostgreSQL

Изображение msi

Реализованы упражнения обучающего этапа (SELECT) для нескольких СУБД, в том числе и для PostgreSQL.
Пока страница находится в режиме тестирования буду рад любым замечаниям.

Переводы/Перевод главы "Индексы" мануала

http://postgresql.ru.net/manual/indexes.html

Глава 11. Индексы.
Оглавление

11.1. Введение [ok]
11.2. Типы индексов [ok]
11.3. Многоколоночные индексы [ok]

11.4. Индексы и ORDER BY
11.5. Объединение нескольких индексов
11.6. Уникальные индексы
11.7. Индексы выражений
11.8. Частичные индексы
11.9. Оператор классов и семейств операторов (? Operator Classes and Operator Families)
11.10. Изучение использования индексов

Консоль к PostgreSQL на SQL-Tutorial.ru

Изображение msi

Интерактивный учебник по SQL оснастился консолью для выполнения запросов к PostgreSQL.
Запросы можно адресовать к учебным базам данных, описание которых можно найти здесь.

При запуске программы показывает ошибку, что она означает и как с ней бороться??? Подскажите пожалуйста!

A data directory is registered in ***unknown variable postgresqlini*** but is neither empty, or recognisable data directory.

Собранный материал

Back to top

(С) Виктор Вислобоков, 2008-2010