Как настроить dblink в PostgreSQL

Как-то мне потребовалось настроить синхронизацию нескольких таблиц на разных серверах PostgreSQL, не настраивая при этом репликацию в классическом её виде, проанализировал я много разных вариантов и самый простой оказался синхронизация через dblink. Настройку выполняю на Debian 7.0 (Wheezy), база данных PoetgreSQL 9.1. Предполагаю, что база уже развёрнута и работает, а так же что у Вас […]

Отправка E-Mail'ов через функцию в PostgreSQL

По рабочей необходимости потребовалось реализовать отправку электронных сообщений простым вызовом функции базы данных. В наличии есть сервер PostgreSQL 9.1 и Debian 7 (Wheezy). Для начала нам понадобится поддержка языка Python в PostgreSQL: sudo apt-get install postgresql python3 postgresql-plpython3-9.1 Авторизуемся из под под пользователя postgres: sudo -u postgres psql Создадим язык для работы функции CREATE LANGUAGE […]

Настройка master<->master репликации PostgreSQL через Bucardo

Хочу поделиться своим опытом настройки репликации PostgreSQL типа master<->master, которую мне потребовалось развернуть для уменьшения нагрузки на компьютер, на котором изначально была одна база, но со временем нагрузка на компьютер так возросла, что база перестала справляться. Итак, что у нас есть и что нам нужно: Есть 2 компьютера с чистой Debian 7 (pg1 -> 192.168.2.11 […]

Как в PostgreSQL перенести данные из одной таблицы в другую?

Допустим нам необходимо перенести данные из одной таблицы в другую, для этого достаточно выполнить такой вот запрос в базу: INSERT INTO tab1 (nick, pass) select username, hash from tab2;

Как перенести базу данных PostgreSQL с одного сервера на другой?

На сервере источнике создадим дамп: sudo su — postgrespg_dumpall —host=127.0.0.1 —port=5432 —database=base —file=base.dump Затем перенесём файл на другой сервер, например используя scp. После чего выполним импорт базы: sudo su — postgrespsql -Upostgres -h newhost -f base.dump

PostgreSQL: Запрос отображающий диапазон дат

Отличный SQL запрос для PostgreSQL, который строит календарь дат на 10 лет, начиная с числа указанного в самом конце запроса: SELECT datum AS Date, extract(year FROM datum) AS Year, extract(month FROM datum) AS Month, — Localized month name to_char(datum, ‘TMMonth’) AS MonthName, extract(day FROM datum) AS Day, extract(doy FROM datum) AS DayOfYear, — Localized weekday […]