Подскажитье пожайлуста(я новичек).
для начала хотелось бы узнать как подключиться к серверу через шелл.
в шел вижу:
server[localhost]: localhost(вбиваю)
database[postgres]:
Port[5432]: 5432
далее выдает такой текст
psql(4.8.3)
WARRING:
console code page(866) differs from Windows code page (1251)
8-bit characters might not work correctly.
see psql reference page "Note for Windows users" for details
Type "help" for help
postgres=#
{не на какие команды не реагирует, а переходит опять к }
postgres=#
{хотя может я не правильно команды задаю, т.к \? - сработало }
ВОРОС: что за ошибка такая, может из за нее косячит шелл?
Для консоли нужно установить
Для консоли нужно установить кодовую страницу Windows code page (1251),
Type "help" for help - напишите "help" для получения помощи.
Это не ошибка - это
Это не ошибка - это предупреждение. Те строки, что вы привели - абсолютно нормальный вход в командно-строчную утилиту psql. Какие команды набираете?
Только помощь
В этом случае psql воспринимает только команды помощь (\h, \?) и выход (\q).
На любые другие он будет отвечать указанным сообщением.
Нужно, чтобы кодировка клиента и базы данных соответствовали друг другу.
Есть несколько способов сделать это:
- указать client_encoding в конф. файле postrgesql.conf
- настроить локаль терминала (если в конфиге не указана кодировка, будет использована из локали)
- ввести непосредственно в клиенте после приглашения # \encoding <имя_кодировки> (не сохраняется, нужно указывать в каждой сессии)
Цитата:На любые другие он
На какие любые?
Не нужно, а желательно!
Все запросы и команды прекрасно работают без согласования кодировок. Таковое согласование необходимо только, если вы хотите видеть данные на русском языке или вводить такие данные. Без согласования они всё-равно будут выводиться, но выглядеть кракозябрами
эта команда мускул
эта команда мускул сраатывает:
postgres# CREATE USER ramesh WITH password ‘tmppassword’;
CREATE ROLE
postgres#
а как для шел набрать не пойму:
(пример из книги)
$ /usr/local/pgsql/bin/createdb mydb -O rameshCREATE DATABASE
Выдает: синтаксис эрррор
$ F:/PostgresSQL/8.4./bin/createdb mydb -O rameshCREATE DATABASE
(тоже не правильно).
В мануал написано - наберите, а как именно не понятоно.
знак $ не надо набирать(это для наглядности),
а далее что?- полный путь? и команду?
непонимаю?подскажите:(
Цитата: а как для шел набрать
Какой шелл, вы в Винде!
Ставьте UNIX (Linux) и будет вам шелл.
psql - это командно-строчная утилита для работы с БД. Её можно иногда назвать как шелл для работы с БД, что меня собственно первоначально и ввело в заблуждение. Тем не менее у меня возникло подозрение, которое я и решил проверить попросив вас привести команды, которые вы используете. Эти команды не для psql, а именно для шелл'ов: bash, csh, zsh и т.д. которых в Винде не имеется.
в меню Postgres 8.4. есть
в меню Postgres 8.4. есть пункт:
SQL Shell (psql), -так и называется
я так понимать это и есть это?
psql где набирают команды к
psql где набирают команды к SQL-серверу - это одно
шелл. где набирают команды в операционной системе - это другое.
это команда SQL-серверу, а
это команда в операционной системе.
postrgesql.conf не нашла в
postrgesql.conf -нашла
445 строка
#client_encoding = sql_ascii # actually, defaults to database
# encoding
Раскоментить и все?
РАКОМЕНТИЛА
при перезапуске- кряки написал, и выдал с ошибкой. как кодировку настроить?
после настройки
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
"1250"="c_1251.nls"
"1252"="c_1251.nls"
при релоад кофиг - ошибок не наше, но
ЖУРНАЛЕ-ОШИБКА
не удалось отправить сигнал перезагрузки(PID 3432):operation not permited
Чего такое надо ему?
и шел все равно выдал это предупреждение
Кодировка вам нужна
Кодировка вам нужна WIN1251
Читайте документацию, очень помогает:
http://postgresql.ru.net/manual/multibyte.html#MULTIBYTE-CHARSET-SUPPORTED
Прав или возможностей. Вы не в Linux, я не уверен. что Windows-версия позволяет релоад
Но уж если делать релоад, то пользователем имеющим административные права
релод от админа
релод от админа заработал:
пишет:
отправпен сигнап серверу
Press to continue...
- указала client_encoding в конф. файле postrgesql.conf
445 client_encoding =win1251 # actually, defaults to dеatabase sql_ascii
# encoding
-НЕ РАБОТАЕТ---------
консоль все равно "варинг" выдает;
а вот команда прошла:
postgres=# \encoding winl251;
postgres=#
??????????????почему с файлом не срабатывает??????????
о, нашла это
Notes for Windows users
psql is built as a "console application". Since the Windows console windows use a different encoding than the rest of the system, you must take special care when using 8-bit characters within psql. If psql detects a problematic console code page, it will warn you at startup. To change the console code page, two things are necessary:
* Set the code page by entering cmd.exe /c chcp 1252. (1252 is a code page that is appropriate for German; replace it with your value.) If you are using Cygwin, you can put this command in /etc/profile.
* Set the console font to "Lucida Console", because the raster font does not work with the ANSI code page.
----------------Сделала "Lucida Console" для кмд и пскуль,
кмд - нормально отображает,
пскуль- ВСЕ РАВНО "ВАРИНГ " ВЫДАЕТ?
Скорее всего потому, что ваш
Скорее всего потому, что ваш клиент ничего не знает про конфиг сервера. Следовательно не может прочитать оттуда параметры настройки. Поэтому устанавливает их такими же как и для самой базы данных, к которой он подключается.