Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как можно узнать список всех возможных кодировок? / 14 сообщений из 14, страница 1 из 1
03.01.2008, 21:36
    #35044543
Leximus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
Всем привет и с наступающим рождеством!
Вопрос такой, как можно узнать список всех допустимых кодировок, можно ли их както прочитать из какойнибудь таблицы PostgreSQL и как узнать какая из них стоит по умолчанию!

Дело в том, что я пишу приложение которое создаёт БД на PostgreSQL ! Хочу просто сделать возможность выбора кодировки в при создании БД.

Всем спасибо!
...
Рейтинг: 0 / 0
03.01.2008, 23:06
    #35044573
Oleg Bartunov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
LeximusВсем привет и с наступающим рождеством!
Вопрос такой, как можно узнать список всех допустимых кодировок, можно ли их както прочитать из какойнибудь таблицы PostgreSQL и как узнать какая из них стоит по умолчанию!

Дело в том, что я пишу приложение которое создаёт БД на PostgreSQL ! Хочу просто сделать возможность выбора кодировки в при создании БД.

Всем спасибо!

\dc
...
Рейтинг: 0 / 0
04.01.2008, 00:34
    #35044606
Leximus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
Oleg Bartunov\dc

Это как я понимаю какойто ключ для запуска приложения. А какнибудь получить список кодировок запросом можно?
...
Рейтинг: 0 / 0
04.01.2008, 10:47
    #35044731
Niemi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
psql -E
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 \dc
********* QUERY **********
SELECT n.nspname AS "Schema",
       c.conname AS "Name",
       pg_catalog.pg_encoding_to_char(c.conforencoding) AS "Source",
       pg_catalog.pg_encoding_to_char(c.contoencoding) AS "Destination",
       CASE WHEN c.condefault THEN 'yes'
       ELSE 'no' END AS "Default?"
FROM pg_catalog.pg_conversion c, pg_catalog.pg_namespace n
WHERE n.oid = c.connamespace
      AND pg_catalog.pg_conversion_is_visible(c.oid)
ORDER BY  1 ,  2 ;
**************************
...
Рейтинг: 0 / 0
04.01.2008, 12:27
    #35044834
Leximus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
Niemi


Спасибо большое, это уже гораздо больше похоже на то что надо! Я из этого сделал такой запрос:
Код: plaintext
1.
2.
3.
select pg_catalog.pg_encoding_to_char(contoencoding) 
from pg_catalog.pg_conversion 
group by pg_catalog.pg_encoding_to_char(contoencoding)

Только меня смущает одно, все ли эти возможные кодировки, ведь список берётся только тех, которые существуют для конвертации...
...
Рейтинг: 0 / 0
04.01.2008, 13:19
    #35044893
Leximus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
Да и как узнать какая из них стоит по умолчанию!?
...
Рейтинг: 0 / 0
04.01.2008, 13:29
    #35044908
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
LeximusДа и как узнать какая из них стоит по умолчанию!?

а выше в ответе нет слова Default?
...
Рейтинг: 0 / 0
04.01.2008, 13:36
    #35044920
Leximus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
Winnipuh
а выше в ответе нет слова Default?

Там все получаются по умолчанию!
...
Рейтинг: 0 / 0
04.01.2008, 13:40
    #35044924
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
Leximus Winnipuh
а выше в ответе нет слова Default?

Там все получаются по умолчанию!

кстати, поставьте себе бесплатный менеджер http://www.sqlmanager.net/
и с ним поисследуйте системные таблицы, пока выходные...
...
Рейтинг: 0 / 0
04.01.2008, 16:49
    #35045214
Leximus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
Winnipuhкстати, поставьте себе бесплатный менеджер http://www.sqlmanager.net/
и с ним поисследуйте системные таблицы, пока выходные...


Поставил, Спасибо!
Действительно можно увидеть много интересного! Но только вот то что мне нужно я так и не увидел! Как можно узнать кодировку которая стоит по умолчанию?
Спасибо!
...
Рейтинг: 0 / 0
04.01.2008, 17:59
    #35045272
Niemi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
Я не совсем понял что именно вы ищете.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
********* QUERY **********
SELECT d.datname as "Name",
       r.rolname as "Owner",
       pg_catalog.pg_encoding_to_char(d.encoding) as "Encoding"
FROM pg_catalog.pg_database d
  JOIN pg_catalog.pg_roles r ON d.datdba = r.oid
ORDER BY  1 ;
**************************
Код: plaintext
1.
2.
psql>show client_encoding;
psql>show server_encoding;
...
Рейтинг: 0 / 0
04.01.2008, 18:22
    #35045299
Leximus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
Мне необходимо узнать, какая кодировка установлена по умолчанию у БД., иначе говоря, если я буду создавать БД, то с какой кодировкой она создастся!
...
Рейтинг: 0 / 0
04.01.2008, 18:41
    #35045306
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
LeximusМне необходимо узнать, какая кодировка установлена по умолчанию у БД., иначе говоря, если я буду создавать БД, то с какой кодировкой она создастся!


читаем здесь:

Name
CREATE DATABASE— create a new database
Synopsis
CREATE DATABASE name
[ [ WITH ] [ OWNER [=] dbowner ]
[ TEMPLATE [=] template ]
[ ENCODING [=] encoding ]
[ TABLESPACE [=] tablespace ]
[ CONNECTION LIMIT [=] connlimit ] ]
Description
CREATE DATABASE creates a new PostgreSQL database.
To create a database, you must be a superuser or have the special CREATEDB privilege. See CREATE
USER.
Normally, the creator becomes the owner of the new database. Superusers can create databases owned by
other users, by using the OWNER clause. They can even create databases owned by users with no special
privileges. Non-superusers with CREATEDB privilege can only create databases owned by themselves.
By default, the new database will be created by cloning the standard system database template1. A
different template can be specified by writing TEMPLATE name. In particular, by writing TEMPLATE
template0, you can create a virgin database containing only the standard objects predefined by your
version of PostgreSQL. This is useful if you wish to avoid copying any installation-local objects that may
have been added to template1.
Parameters
name
The name of a database to create.
dbowner
The name of the database user who will own the new database, or DEFAULT to use the default
(namely, the user executing the command).
template
The name of the template from which to create the new database, or DEFAULT to use the default
template (template1).
878
CREATE DATABASE
encoding
Character set encoding to use in the new database. Specify a string constant (e.g., ’SQL_ASCII’),
or an integer encoding number, or DEFAULT to use the default encoding (namely, the encoding of the
template database). The character sets supported by the PostgreSQL server are described in Section
21.2.1.
tablespace
The name of the tablespace that will be associated with the new database, or DEFAULT to use the
template database’s tablespace. This tablespace will be the default tablespace used for objects created
in this database. See CREATE TABLESPACE for more information.
connlimit
How many concurrent connections can be made to this database. -1 (the default) means no limit.
Optional parameters can be written in any order, not only the order illustrated above.

И т.д...
...
Рейтинг: 0 / 0
09.01.2008, 17:38
    #35050949
Ёш
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно узнать список всех возможных кодировок?
LeximusМне необходимо узнать, какая кодировка установлена по умолчанию у БД., иначе говоря, если я буду создавать БД, то с какой кодировкой она создастся!постгрес использует системные функции локали операционной системы для upper/lower и сортировки и локаль - она общая для всех процессов сервера - соответственно он не может создать две базы в разных кодировках - кодировка всегда одна для всего сервера и всех его БД и посмотреть её можно через show server_encoding;
то есть он конечно может создать базу в другой кодировке, но тогда в ней будут неправильно работать функции обработки строк и сортировка строк.

давать список кодировок нужно не для create database, а для подключения клиента к серверу - для установки правильного client_encoding после подключения (если кодировка символов которую ожидает программа-клиент не совпадает с её (программы-клиента) текущей системной локалью, с которой она была запущена).
...
Рейтинг: 0 / 0
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как можно узнать список всех возможных кодировок? / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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