powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Debian, PG9.1 -> PG9.3, role root does not exist
5 сообщений из 5, страница 1 из 1
Debian, PG9.1 -> PG9.3, role root does not exist
    #38759496
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем, захотел я себе для экспериментов виртуалку с PG под линукс. после чего решил провести апгрейд и усе сломалось. До этого работал только с pg on win, и ситуевина осложняется околонулевым опытом под пингвином.

В общем:

скачал http://www.turnkeylinux.org/postgresql, развернул в винде под vmware player.

1. apt-get postgres - наличествует только версия 9.1.
ок, думаю.

смотрю http://www.pontikis.net/blog/postgresql-9-debian-7-wheezy

все прошло как по маслу, 9.3 встал.

Делаю psql и вижу:

psql 9.3.5 on <blablabla> server 9.1
#

думаю, рестарт? service postgresql restart - картина та же.

Значит, версию 9.1 нафиг?
apt-get purge postgresql-91
psql
psql: FATAL: role "root" does not exist.
вопрос1: что нехорошего сделал purge и как теперь жить под 9.3?
вопрос2: как под параллельно установленными версиями pg под linux переключаться в psql между экземплярами pg на разных портах? как иметь запущенный один сервис, и не запущенный другой, или наоборот?

<виртуалка пока что чистая, можно и прибить, но неспортивно. под виндой я командовал всем из pgadminайайай, а тут с init и trust-авторизацией фиг поймешь, куда тыкаться>
...
Рейтинг: 0 / 0
Debian, PG9.1 -> PG9.3, role root does not exist
    #38759553
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторвопрос2: как под параллельно установленными версиями pg под linux переключаться в psql между экземплярами pg на разных портах? как иметь запущенный один сервис, и не запущенный другой, или наоборот?


Раз: Собственно если инсталяшки штатные то они себя автоматом по портам раскидывают.
Порт по умолчанию 5432
Следующий установленный postgresql получает 5433
следующий 5434
и тд

подключатся на нестандартный порт через -p 5433 (psql -p 5433).


Два:
дык оно само подсказывает как:
Код: plaintext
1.
2.
root@mboguk:/home/mboguk# /etc/init.d/postgresql
Usage: /etc/init.d/postgresql {start|stop|restart|reload|force-reload|status} [version ..]

--Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
Debian, PG9.1 -> PG9.3, role root does not exist
    #38759766
Hawkmoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Максим, уточню.
а.
Код: plaintext
интересует командование двумя инстансами через простые команды типа service pg91 restart, service pg93 restart. что для этого нужно?
(можно не отвечать , про init.d/postgresql инфу осознал).

б. Что нужно для перестановки 93 на основную позицию и вывода из эксплуатации 91 (в резерв (на другой порт)-в утиль(вообще)?) Почему очевидная операция по утилизации - apt-get purge похерила мне роль root на другой версии? Как сносить старые версии правильно?

то есть как процесс меня интересуют:
1. апгрейд, с рокировкой свежей версии на место старой, и так, чтобы и порты, и датадир, и все на свете стало как у новой (и даже psql без параметров)
2. снос (спустя недельку-другую) старой, чтоб не поломалась новая.

Код: plaintext
насчет команды postgresql пасибо, надо будет покурить это дело.
...
Рейтинг: 0 / 0
Debian, PG9.1 -> PG9.3, role root does not exist
    #38759788
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hawkmoon,

в дебиане есть пакет postgresql-common, который представляет собой врапперы для пг-шных нативных утилит. вот примеры использования, думаю вполне очевидно что они делают
pg_createcluster -p 5432 9.2 main
pg_createcluster -p 5433 9.3 alfa
pg_lsclusters
pg_ctlcluster 9.3 alfa start
pg_ctlcluster 9.2 main stop
pg_dropcluster 9.2 main

т.е. в дебиане/убунте работа с несколькими постгресам сводится к установке необходимых версий postgres (apt-get install postgresql-9.2 postgresql-9.3), создание кластеров через pg_createcluster (при том что, в процессе установки пакета, по-умолчанию для устанавливаемой версии создается кластер с именем main). Даже если вы хотите задать кастомные настройки при создании (encoding, collate, auth) кластера, то pg_createcluster позволяет это сделать. А все конфиги хранятся в /etc/postgresql/PG_VERSION/CLUSTER_NAME. например /etc/postgresql/9.3/main
...
Рейтинг: 0 / 0
Debian, PG9.1 -> PG9.3, role root does not exist
    #38759793
daevy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HawkmoonМаксим, уточню.
а.
Код: plaintext
интересует командование двумя инстансами через простые команды типа service pg91 restart, service pg93 restart. что для этого нужно?
(можно не отвечать , про init.d/postgresql инфу осознал).

б. Что нужно для перестановки 93 на основную позицию и вывода из эксплуатации 91 (в резерв (на другой порт)-в утиль(вообще)?) Почему очевидная операция по утилизации - apt-get purge похерила мне роль root на другой версии? Как сносить старые версии правильно?

то есть как процесс меня интересуют:
1. апгрейд, с рокировкой свежей версии на место старой, и так, чтобы и порты, и датадир, и все на свете стало как у новой (и даже psql без параметров)
2. снос (спустя недельку-другую) старой, чтоб не поломалась новая.

Код: plaintext
насчет команды postgresql пасибо, надо будет покурить это дело.


теперь с учетом вышенаписаного камента:
a. pg_ctlcluster
б. pg_dropcluster 9.1 clustername; apt-get remove postgresql-9.1

апгрейд делается через pg_upgradecluster, где (версии взяты с потолка) 9.2 останавливается, создается 9.3, выполняется pg_upgrade, и затем запускается 9.3.

вот к примеру как выглядело до апгрейда
$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
9.2 main 5432 online postgres /var/lib/postgresql/9.2/main /var/log/postgresql/postgresql-9.2-main.log

теперь апгрейд
$ pg_upgradecluster 9.2 main

теперь после апгрейда
$ pg_lsclusters
Ver Cluster Port Status Owner Data directory Log file
9.2 main 5433 down postgres /var/lib/postgresql/9.2/main /var/log/postgresql/postgresql-9.2-main.log
9.3 main 5432 online postgres /var/lib/postgresql/9.3/main /var/log/postgresql/postgresql-9.3-main.log

теперь 9.2 можно спилить через pg_dropcluster и затем apt-get remove postgresql-9.2
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Debian, PG9.1 -> PG9.3, role root does not exist
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]