35.7. character_sets #

A visão character_sets identifica os conjuntos de caracteres disponíveis no banco de dados corrente. Como o PostgreSQL não oferece suporte a vários conjuntos de caracteres no mesmo banco de dados, esta visão mostra apenas um conjunto de caracteres, o qual é a codificação do banco de dados.

Note como os seguintes termos são usados no padrão SQL:

repertório de caracteres (character repertoire)

Uma coleção abstrata de caracteres, por exemplo, UNICODE, UCS ou LATIN1. Não exposto como um objeto SQL, mas aparece nesta visão.

forma de codificação de caracteres (character encoding form)

Uma codificação de algum repertório de caracteres. A maioria dos repertórios de caracteres mais antigos usa apenas uma forma de codificação e, portanto, não há nomes separados para os mesmos (por exemplo, LATIN2 é uma forma de codificação aplicável ao repertório LATIN2). Mas, por exemplo, o Unicode tem as formas de codificação UTF8, UTF16, etc. (nem todas com suporte pelo PostgreSQL). As formas de codificação não são expostas como um objeto SQL, mas aparecem nesta visão.

conjunto de caracteres (character set)

Um objeto SQL com nome que identifica um repertório de caracteres, uma codificação de caracteres, e uma ordenação padrão. Um conjunto de caracteres predefinido normalmente deveria ter o mesmo nome da forma de codificação, mas os usuários podem definir outros nomes. Por exemplo, o conjunto de caracteres UTF8 normalmente deveria identificar o repertório de caracteres UCS, a forma de codificação UTF8, e alguma ordenação padrão.

Pode-se pensar em uma codificação no PostgreSQL tanto como um conjunto de caracteres quanto como uma forma de codificação de caracteres. Elas terão o mesmo nome e só poderá haver uma em cada banco de dados.

Tabela 35.5. Colunas de character_sets

Coluna Tipo de dados

Descrição

character_set_catalog sql_identifier

No momento, os conjuntos de caracteres não são implementados como objetos de esquema, portanto esta coluna é nula.

character_set_schema sql_identifier

No momento, os conjuntos de caracteres não são implementados como objetos de esquema, portanto esta coluna é nula.

character_set_name sql_identifier

Nome do conjunto de caracteres, no momento implementado como mostrando o nome da codificação do banco de dados

character_repertoire sql_identifier

Repertório de caracteres, mostrando UCS se a codificação for UTF8, caso contrário mostra apenas o nome da codificação

form_of_use sql_identifier

Forma de codificação dos caracteres, a mesma codificação do banco de dados

default_collate_catalog sql_identifier

Nome do banco de dados que contém a ordenação padrão (sempre o banco de dados corrente, se for identificada alguma ordenação)

default_collate_schema sql_identifier

Nome do esquema que contém a ordenação padrão

default_collate_name sql_identifier

Nome da ordenação padrão. A ordenação padrão é identificada como a ordenação que corresponde às configurações COLLATE e CTYPE do banco de dados corrente. Se esta ordenação não existir, esta coluna, e as colunas de esquema e catálogo associadas, serão nulas.


Exemplo 35.4. Exemplo do tradutor

Conjuntos de caracteres disponíveis

Uso do esquema de informações para mostrar os conjuntos de caracteres disponíveis no banco de dados cristina da usuária cristina.

SELECT * FROM information_schema.character_sets\gx

-[ RECORD 1 ]-----------+---------
character_set_catalog   |
character_set_schema    |
character_set_name      | UTF8
character_repertoire    | UCS
form_of_use             | UTF8
default_collate_catalog | cristina
default_collate_schema  |
default_collate_name    |