Как удалить процедуру или функцию из базы данных

При разработке инструментов, которые взаимодействуют с разными СУБД, приходится учитывать много нюансов, потому что одни и теже вещи реализованы по-разному и стандарт SQL поддерживается по-разному. Если рассмотреть достаточное количество СУБД, то окажется, что нет универсального способа удалить функцию или процедуру.

Читать далее Как удалить процедуру или функцию из базы данных
Реклама

Перенос базы данных PostgreSQL с OpenShift v2 на Heroku

С Heroku будем работать с помощью утилиты Heroku CLI, а с OpenShift — с  помощью rhc.

Подключаемся к серверу OpenShift по SSH.

rhc ssh ИМЯ_ПРИЛОЖЕНИЯ

На сервере делаем дамп базы данных.

pg_dump --format=c -f app-root/data/database.dump

Опция --format задает формат нужный для Heroku.

Уходим с сервера.

exit

Загружаем дамп с сервера OpenShift на локальный компьютер.

rhc scp ИМЯ_ПРИЛОЖЕНИЯ download ./ app-root/data/database.dupm

Файл дампа нужно загрузить в интернет, так, чтобы была прямая ссылка на файл (https://АДРЕС/database.dupm).

Восстанавливаем базу данных на Heroku из дампа.

heroku pg:backups:restore -a ИМЯ_ПРИЛОЖЕНИЯ 'https://АДРЕС/database.dupm'

Установка Odoo 9.0 (бывший OpenERP) в Ubuntu 14.04

Odoo (бывшая OpenERP) — это ERP- и CRM-система. Последняя стабильная версия — 9.0.

Все действия в командной строке необходимо производить с правами суперпользователя, поэтому возьмем себе эти права:

sudo bash

Таким образом запустится bash с правами суперпользователя. В дальнейшем перед командами не будет необходимости писать sudo.

Если перед установкой Odoo установить PostgreSQL, то Odoo настроит PostgreSQL под свои нужды.

В Ubuntu 14.04 используется PostgreSQL версии 9.3.

У меня уже была установлена и настроена PostgreSQL и это породило проблемы при установке Odoo. Поэтому сначала я удалил PostgreSQL командами:

apt-get remove --purge postgresql
apt-get remove --purge postgresql-9.3

Ключ --purge удаляет все настройки.

Установим СУБД PostgreSQL:

apt-get install postgresql

После установки производится автоматическая настройка и во время нее появляется ошибка:

ERROR: no ecoding defined in /usr/share/hunspell/ru_RU.aff, ignorin

Происхождение этой ошибки мне не известно и я ее проигнорировал. На дальнейшую работу это не повлияло.

Надпись, говорящая, что сервер PostgreSQL запущен:

* Starting PostgreSQL 9.3 database server

В репозитории Ubuntu 14.04 находится довольно старая версия Odoo (OpenERP 6.1).

Поэтому подключим репозиторий ночных сборок Odoo двумя командами:

wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
echo "deb http://nightly.odoo.com/9.0/nightly/deb/ ./" | sudo tee /etc/apt/sources.list.d/odoo.list

Обновим список пакетов:

apt-get update

И установим Odoo:

apt-get install odoo

Надпись, говорящая, что Odoo запущен:

Starting odoo: ok

Теперь для работы с Odoo запускаем браузер и переходим по адресу:

http://localhost:8069/

Зайдя на эту страницу, мы видим:

Odoo 9.0 create database

Здесь предлагается создать базу данных под нужны Odoo. Вводим имя базы данных, которое нам нравится, выбираем язык, вводим пароль администратора и нажимаем «Create database».

Печать в PDF

Odoo позволяет сохранять отчеты, счета и прочее в PDF. В терминологии Odoo это называется печатью:

Odoo 9. Печать

Odoo не печатает с помощью принтера, по крайней мере, автору такой способ неизвестен.

Если хотите печатать в PDF, то необходимо установить программу Wkhtmltopdf.

В репозитории Ubuntu 14.04 находится старая версия этой программы, с которой Odoo не сможет работать. Поэтому придется выполнить ряд действий посложнее простого apt-get install.

Для начала удовлетворим зависимости, установив пару пакетов:

apt-get install xfonts-base xfonts-75dpi

Теперь загрузим пакет Wkhtmltopdf:

  • для 64-разрядной системы:
wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
  • или 32-разрядной:
wget http://download.gna.org/wkhtmltopdf/0.12/0.12.2.1/wkhtmltox-0.12.2.1_linux-trusty-i386.deb

С этой версией программы Odoo гарантировано работает, чего не удалось добиться с более старшей версией.

Установим:

  • для 64-разрядной системы:
dpkg -i wkhtmltox-0.12.2.1_linux-trusty-amd64.deb
  • для 32-разрядной системы:
dpkg -i wkhtmltox-0.12.2.1_linux-trusty-i386.deb

Чтобы печать в PDF заработала перезапустим Odoo:

service odoo restart

Ссылки

  • Ночные сборки Odoo (сборки для различных версий для различных операционных систем).