powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Как можно узнать список всех возможных кодировок?
14 сообщений из 14, страница 1 из 1
Как можно узнать список всех возможных кодировок?
    #35044543
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет и с наступающим рождеством!
Вопрос такой, как можно узнать список всех допустимых кодировок, можно ли их както прочитать из какойнибудь таблицы PostgreSQL и как узнать какая из них стоит по умолчанию!

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

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

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

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

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

Это как я понимаю какойто ключ для запуска приложения. А какнибудь получить список кодировок запросом можно?
...
Рейтинг: 0 / 0
Как можно узнать список всех возможных кодировок?
    #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
Как можно узнать список всех возможных кодировок?
    #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
Как можно узнать список всех возможных кодировок?
    #35044893
Leximus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да и как узнать какая из них стоит по умолчанию!?
...
Рейтинг: 0 / 0
Как можно узнать список всех возможных кодировок?
    #35044908
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LeximusДа и как узнать какая из них стоит по умолчанию!?

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

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

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

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


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

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


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