powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Не могу перекодировать БД
25 сообщений из 32, страница 1 из 2
Не могу перекодировать БД
    #36764277
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!
есть БД под Денвером в WIN1251, мне надо UTF8 или SQL_ASCII. Подскажите как сконвертировать.
Пробовал создавать новую - пишет
Код: plaintext
1.
ERROR:  new encoding (UTF8) is incompatible with the encoding of the template database (WIN1251)
HINT:  Use the same encoding as in the template database, or use template0 as template.
Я сам в этом не разбираюсь, мне надо это для программы.
Заранее спасибо!
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764347
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сделайте полный дамп базы (pg_dumpall), пересоздайте пазу с необходимой локалью (курить маны для initdb) и залейте все в базу.
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764350
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Warstoneпересоздайте пазу с необходимой локалью Пересоздайте кластер.
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764434
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magister YodaПробовал создавать новую - пишет
Код: plaintext
1.
ERROR:  new encoding (UTF8) is incompatible with the encoding of the template database (WIN1251)
HINT:  Use the same encoding as in the template database, or use template0 as template.

Код: plaintext
1.
ОШИБКА:  новая кодировка (UTF8) не совместима с кодировкой базы-шаблона (WIN1251)
ПОДСКАЗКА:  Используйте ту же кодировку что и у базы-шаблона, или используйте базу template0 в качестве базы-шаблона.
Понятно?

Magister Yoda, база-шаблон указывается в директиве TEMPLATE команды CREATE DATABASE, например:
Код: plaintext
create database asdf template template0;
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764453
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЁшMagister Yoda, база-шаблон указывается в директиве TEMPLATE команды CREATE DATABASE, например:
Код: plaintext
create database asdf template template0;

вот у меня создалась БД asdf и как в ней изменить кодировку теперь?
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764477
Хость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А мануал почитать не судьба?

CREATE DATABASE name
[ [ WITH ] [ OWNER [=] dbowner ]
[ TEMPLATE [=] template ]
[ ENCODING [=] encoding ]
[ LC_COLLATE [=] lc_collate ]
[ LC_CTYPE [=] lc_ctype ]
[ TABLESPACE [=] tablespace ]
[ CONNECTION LIMIT [=] connlimit ] ]
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764640
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
оставил только то что надо
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Ошибка SQL:

ERROR:  syntax error at or near "["
LINE  2 : [ [ WITH ] [ TEMPLATE [=] template1 ]
        ^
В операторе:
CREATE DATABASE asdf
[ [ WITH ] [ TEMPLATE [=] template1 ]
[ ENCODING [=] UTF8 ] ]

вот что пишет...
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764775
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magister Yodaвот что пишет...А-а-а... Эпик феил... Спасибо, я проржался. FVMas detected.
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764797
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
перечитай первый пост. В нём ясно написано "Я сам в этом не разбираюсь, мне надо это для программы." и не зачем ржать, раз ты такой умный дак может помог бы лучше, чем флудить?
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764818
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
итак базу создал...
Код: plaintext
CREATE DATABASE adfsdg WITH template=template0 encoding= 6 
но возникла проблемка, оказывается программа сама должна создавать базу, а она использует стандартные параметры, а следовательно и стандартный шаблон, в котором кодировка WIN1251.
вопрос такой - как изменить кодировку в стандартном шаблоне?
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764821
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну не знать форму записи (кстати, кто автор-то?) команд - это все-равно что "Скажите а как поменять масло в двигателе Порша, я не прфессионал? ... Так-то... Ой, я-же говорил что я не профессионал! Так как открыть капот?"
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764830
Фотография Warstone
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magister Yodaитак базу создал...
Код: plaintext
CREATE DATABASE adfsdg WITH template=template0 encoding= 6 
но возникла проблемка, оказывается программа сама должна создавать базу, а она использует стандартные параметры, а следовательно и стандартный шаблон, в котором кодировка WIN1251.
вопрос такой - как изменить кодировку в стандартном шаблоне?
Код: plaintext
CREATE DATABASE adfsdg WITH template=template0 encoding=UTF8
А потом выбирай клиентскую кодировку, какую хочешь. поможет тебе в этом SQL комманда
Код: plaintext
SET client_encoding='WIN1251';
допустим. Все последующие вопросы (а их сейчас будет тонна по типу: "А зачем client_encoding") - в ветку Работа.
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764832
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magister Yodaвопрос такой - как изменить кодировку в стандартном шаблоне?Пересоздать кластер, как писал Warstone
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764843
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уже почти понимаю :D
а как мне этот initdb запустить? и какие у него параметры?
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764854
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
WarstoneА потом выбирай клиентскую кодировку, какую хочешь. поможет тебе в этом SQL комманда
Код: plaintext
SET client_encoding='WIN1251';
допустим. Все последующие вопросы (а их сейчас будет тонна по типу: "А зачем client_encoding") - в ветку Работа.
ну я её выбрал UTF8, но всё равно программа пишет что в стандартном шаблоне WIN1251
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36764919
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в смысле выполнил этот запрос SET client_encoding='UTF8';
но всё равно стандартный шаблон остался WIN1251. как мне изменить его на другой?
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36765036
Я заметил, раздел постгриса самый дружелюбный на данном форуме.
Все видят, что чел упорно не желает читать руководства.
Вместо того, чтобы отослать его читать мануалы - с маниакальным упорством помогают.
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36765046
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да как Вы понять не можете - мне данная операция единоразово нужна, больше она мне не понадобиться.
И кстати о "отослать читать мануалы" - форумы созданы для того чтобы задавать вопросы, а люди, которые знают ответы - отвечали им.
Я гуглил уже на эту тему - ничего не нашел. Точнее нашел - этот форум. И больше ничего конкретного. Поэтому решил задать этот вопрос здесь, чтобы умные люди помогли решить.
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36765175
Magister Yoda, а тут ?
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36765191
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
смотрел гуглом
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36765247
Magister Yodaсмотрел гуглом
Так ?
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36765264
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Magister Yodaуже почти понимаю :D
а как мне этот initdb запустить? и какие у него параметры?
возможно как-то так: initdb.exe -D с:\pg_base --locale=Russian_Russia --encoding=UTF8
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36765285
У него не получится потому что он не знает где лежит бинарник initdb... я это уже чуствую и рыдаю крокодиловыми
слезами падсталом... Cохрани и спаси нас от таких админов и девелоперов. А ведь сегодня их поболе чем сами значете кого в общаге.
Маладой падаван, я те прямо скажу: если тебе дороги твое время и нервы остерегайся заниматься чем-то не читая документации.
Лучше уж стразу выпей йаду заплати кому следует да нехай нарисуют тебе базу и программу и дыдька лысого,
тем паче если это тебе нужно на один раз для отмазки. Благо сегодня фрилансеров есть и в Рунетах.
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36767213
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый Ленивец , извиняюсь за выражение, срать только анонимно умеем?
Ёш , благодарю, сейчас попробую.
P.S. где этот файл - я знаю.
...
Рейтинг: 0 / 0
Не могу перекодировать БД
    #36767238
Magister Yoda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
открыл командную строку нашел этот initdb.exe и запустил его с такими параметрами
Код: plaintext
1.
C:\WebServers\usr\local\pgsql- 8 . 4 \bin>initdb.exe -D C:\WebServers\usr\local\pgsq
l- 8 . 4 \data\ --locale=Russian_Russia --encoding=UTF8
вот что он написал
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
The files belonging to this database system will be owned by user "Администратор
".
This user must also own the server process.

The database cluster will be initialized with locale Russian_Russia.
The default text search configuration will be set to "russian".

fixing permissions on existing directory C:/WebServers/usr/local/pgsql- 8 . 4 /data
... ok
creating subdirectories ... ok
selecting default max_connections ...  100 
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in C:/WebServers/usr/local/pgsql- 8 . 4 /data/base/ 1  ...
 ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... FATAL:  invalid byte sequence for enc
oding "UTF8": 0xc0e4
HINT:  This error can also happen if the byte sequence does not match the encodi
ng expected by the server, which is controlled by "client_encoding".
child process exited with exit code  1 
initdb: removing contents of data directory "C:/WebServers/usr/local/pgsql-8.4/d
ata"
что это за ошибка с UTF8 какая-то? в начале я заметил что файлы и папки появлялись, но потом всё удалилось.

попробовал с SQL_ASCII кодировкой - всё нормально создалось.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
The files belonging to this database system will be owned by user "Администратор
".
This user must also own the server process.

The database cluster will be initialized with locale Russian_Russia.
The default text search configuration will be set to "russian".

fixing permissions on existing directory C:/WebServers/usr/local/pgsql- 8 . 4 /data
... ok
creating subdirectories ... ok
selecting default max_connections ...  100 
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in C:/WebServers/usr/local/pgsql- 8 . 4 /data/base/ 1  ...
 ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok

WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the -A option the
next time you run initdb.

Success. You can now start the database server using:

    "postgres" -D "C:/WebServers/usr/local/pgsql-8.4/data"
or
    "pg_ctl" -D "C:/WebServers/usr/local/pgsql-8.4/data" -l logfile start

подскажите в чем может быть проблема с UTF8?
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Не могу перекодировать БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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