понедельник, 24 сентября 2012 г.

Добавление кодировок в Ubuntu


Для просмотра установленных кодировок.
locale -a

Запускаем реконфиг локалей
sudo dpkg-reconfigure locales

Генерируем локаль
locale-gen ru_RU.CP1251
или
locale-gen ru_RU.UTF-8

вторник, 4 сентября 2012 г.

Смена кодировки Postgresql 8.4 на Debian (Ubuntu)

Кодировку в Postgresql возможно сменить только у всего кластера сервера. Если имеются базы данных, то необходимой сделать копии этих баз. После действий описанных в данной статье иницилизируется новый кластер сервера.
Остановим сервер Pjstresql командой:
/etc/init.d/postgresql stop

Удалить (или переместить старую базу):
mv /var/lib/postgresql/8.4/main /var/lib/postgresql/8.4/main.old

Проинициализируем новую базу с необходимыми настройками:
su -c "/usr/lib/postgresql/8.4/bin/initdb -E WIN1251 --locale=ru_RU.CP1251-8 -D /var/lib/postgresql/8.4/main" postgres

Закоментируем в /etc/postgresql/8.2/main/postgresql.conf строчку
ssl = true.

Запустить сервер:
/etc/init.d/postgresql start

После данных действий возможно будут проблемы с аутентификации пользователя postgres. Необходимо сменить пароль данного пользователя. Для этого правим файл /etc/postgresql/8.4/main/pg_hba.conf. Добавляем или изменяем чтобы в методах идентификации было:
local all all trust

Перезапускаем сервер:
/etc/init.d/postgresql restart

Логинемся в postgres:
sudo su postgres -c psql template
Меняем пароль:
ALTER USER postgres with PASSWORD 'password';

Меняем строчку в pg_hba.conf обратно. Например:
host all postgres md5