Стоял postgres-8.1.5-14.1C решил обновить его до 8.2.4-6.1C. Пакеты удалил каталог /var/lib/pgsql/data удалять не стал.
Переименовал его в data.old. Установил новую версию. Сделал ему initdb в новую папку data. Поправил postgresql.conf и запустил. Все заработало. Вот только под пользователем postgres войти в базу у меня не получается. Пароль postgres не подходит. Попробовал старый пароль - не подошел.
Тогда решил сделать все с нуля. Снес пакеты, удалил каталог data. Поставил. Запустил. Попробовал подключится - та же ситуация. Упорно не пускает под postgres.
Подскажите, что делать?
По умолчанию
По умолчанию после установки в Linux метод идентификации для пользователей indent.
Для того, чтобы работал пароль, надо чтобы метод был password (crypt, md5) и пользователь был создан с паролем.
Поэтому всё что нужно после переустановки, это выполнить команду:
# su - postgres
$ psql -d template1
и спокойно заходится без паролей.
-----------------------------------------------------------------------------------
"ls /" (C) Козьма Прутков
Спасибо за
Спасибо за ответ.
Предложенный вариант не сработал. Пришлось сделать несколько по другому. Но главное - что теперь все работает.
под рутом
под рутом делаем это:
passwd postgres (затем на предложение ввести пороль вводим 2 раза пороль)
После:
su postgres и затем, тот пороль, что мы ввели до этого
Когда залогинились под postgres набираем psql
и уже в самом клиенте набираем
alter user postgres with password 'тот пороль, что мы указываели до этого';
Зы. Наслождаемся полетом.
psql игнорирует команды
Была такая же проблема с паролем так-же поменял пароль у postgres, залогинился под ним, запустил psql, только вот он упорно игнорирует все введенные мной команды типа ALTER USER, CREATE USER и CREATE DATABASE.
При этом консольные команды типа createdb и createuser работают (база создается, юзер тоже, только под созданным юзером не могу в базу войти)
Open Suse 10.2, postgreSQL шел вместе с дистрибутивом
Может кто подскажет, как теперь быть?
Что означает
Что означает "игнорирует команды"? Можно уточнить?
-----------------------------------------------------------------------------------
"ls /" (C) Козьма Прутков
Таже беда что и у товарищей
Таже беда что и у товарищей. Пароля не знаю и поменять не могу
Вот последовательность действий. Что-то ни фига не пойму в чём дело.
[root@lyay_lin lib]# su postgres
[postgres@lyay_lin lib]$ /usr/bin/psql
Welcome to psql 8.3.4, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
postgres=# ALTER USER postgres PASSWORD 'postgres'
postgres-# alter user postgres with password postgres
postgres-# \q
[postgres@lyay_lin lib]$ /usr/bin/psql -h localhost postgres postgres
Password for user postgres:
psql: FATAL: password authentication failed for user "postgres"
[postgres@lyay_lin lib]$
УРА!!!! После
УРА!!!!
После двух дней бодания смог-таки сменить пароль.
Вот последовательность команд.
/usr/bin/psql -d template1
template1=# alter user postgres with password postgres
template1-# \c postgres
postgres-# \password postgres
Уж не знаю что из них помогло. Думаю что последняя.
postgres-# \password postgres
Версия сервера 8.3.4_1С
Скорее всего
Скорее всего было несовпадение по методам авторизации.
Сменить пароль у postgres недостаточно, когда дело касается захода на localhost, надо ещё в pg_hba.conf изменить метод авторизации для localhost с trust на парольный.
password postgres
Спасибо огромное все получилось!
подскажите!
Подскажите у меня та же проблема !!!только я устанавливаю первый раз !!пишет что пароль не верный перепробовал все!!ни как!!!Что такое РУт?!?Как мне поступить >?!
винда
Таже беда но в винде)
так и не догнал в чём проблема, учитывая начальный уровень познания postgresql решил особо не возиться, снёс винду) поставил всё изново.
как можно было поступить по другому? )
Самое простое:
Самое простое: в pg_hba.conf исправить запись авторизации, поставив для localhost и всех баз метод авторизации trust, перезапустить PostgreSQL и спокойно заходить без пароля. Затем установить пароль и исправить метод авторизации обратно на passwd (или что там стояло?)
я свой нашла в открытом виде
я свой нашла в открытом виде вот здесь:
C:\Documents and Settings\user\Application Data\postgresql\pgpass.conf
очень удивилась
в Windows гораздо проще
в Windows все просто.
Изменяем метод аутентификации в файле:
"C:\Program Files\PostgreSQL\9.1.9-1.1C\data\pg_hba.conf"
Метод аутентификации trust. строка должна выглядеть так:
host all all 0.0.0.0/0 trust
Запускаем программу pgAdmin III.
останавливаем, затем запускаем службу.
подключаешься к серверу без пароля.
Раскрываем список БД, выбираем любую базу.
В главном меню: Плагины - PSQL console
в консоли вставляем текст
ALTER USER postgres PASSWORD '12345';
Сообщение ALTER ROLE означает что пароль изменен.
Метод аутентификации trust меняем на прежний.