12.10. Suporte do psql #

As informações sobre objetos de configuração de procura de texto completo podem ser obtidas pelo psql, usando o conjunto de comandos:

\dF{d,p,t}[+] [PADRÃO]

O sinal de + opcional produz mais detalhes.

O parâmetro opcional PADRÃO pode ser o nome de um objeto de procura de texto, opcionalmente qualificado pelo esquema. Se PADRÃO for omitido, então serão apresentadas informações sobre todos os objetos visíveis. O PADRÃO pode ser uma expressão regular, podendo ser fornecidos padrões separados para o esquema e para os nomes de objetos. Os exemplos a seguir mostram isso:

=> \dF *english*

        Lista de configurações de procura de texto
  Esquema   |  Nome   |             Descrição
------------+---------+------------------------------------
 pg_catalog | english | configuration for english language

=> \dF *.english*

  Esquema   |  Nome   |             Descrição
------------+---------+------------------------------------
 pg_catalog | english | configuration for english language
 public     | english |

Os comandos disponíveis são:

\dF[+] [PADRÃO]

Lista as configurações de procura de texto (adicione o sinal + para obter mais detalhes).

=> \dF portuguese

           Lista de configurações de procura de texto
  Esquema   |    Nome    |               Descrição
------------+------------+---------------------------------------
 pg_catalog | portuguese | configuration for portuguese language

=> \dF+ portuguese

Configuração de procura de texto "pg_catalog.portuguese"
Analisador: "pg_catalog.default"
    Elemento     |   Dicionários
-----------------+-----------------
 asciihword      | portuguese_stem
 asciiword       | portuguese_stem
 email           | simple
 file            | simple
 float           | simple
 host            | simple
 hword           | portuguese_stem
 hword_asciipart | portuguese_stem
 hword_numpart   | simple
 hword_part      | portuguese_stem
 int             | simple
 numhword        | simple
 numword         | simple
 sfloat          | simple
 uint            | simple
 url             | simple
 url_path        | simple
 version         | simple
 word            | portuguese_stem

\dFd[+] [PADRÃO]

Lista os dicionários de procura de texto (adicione o sinal + para obter mais detalhes).

=> -- só os dicionários do sistema
=> \dFd pg_catalog.*

                         Lista de dicionários de procura de texto
  Esquema   |      Nome       |                         Descrição
------------+-----------------+-----------------------------------------------------------
 pg_catalog | arabic_stem     | snowball stemmer for arabic language
 pg_catalog | armenian_stem   | snowball stemmer for armenian language
 pg_catalog | basque_stem     | snowball stemmer for basque language
 pg_catalog | catalan_stem    | snowball stemmer for catalan language
 pg_catalog | danish_stem     | snowball stemmer for danish language
 pg_catalog | dutch_stem      | snowball stemmer for dutch language
 pg_catalog | english_stem    | snowball stemmer for english language
 pg_catalog | estonian_stem   | snowball stemmer for estonian language
 pg_catalog | finnish_stem    | snowball stemmer for finnish language
 pg_catalog | french_stem     | snowball stemmer for french language
 pg_catalog | german_stem     | snowball stemmer for german language
 pg_catalog | greek_stem      | snowball stemmer for greek language
 pg_catalog | hindi_stem      | snowball stemmer for hindi language
 pg_catalog | hungarian_stem  | snowball stemmer for hungarian language
 pg_catalog | indonesian_stem | snowball stemmer for indonesian language
 pg_catalog | irish_stem      | snowball stemmer for irish language
 pg_catalog | italian_stem    | snowball stemmer for italian language
 pg_catalog | lithuanian_stem | snowball stemmer for lithuanian language
 pg_catalog | nepali_stem     | snowball stemmer for nepali language
 pg_catalog | norwegian_stem  | snowball stemmer for norwegian language
 pg_catalog | portuguese_stem | snowball stemmer for portuguese language
 pg_catalog | romanian_stem   | snowball stemmer for romanian language
 pg_catalog | russian_stem    | snowball stemmer for russian language
 pg_catalog | serbian_stem    | snowball stemmer for serbian language
 pg_catalog | simple          | simple dictionary: just lower case and check for stopword
 pg_catalog | spanish_stem    | snowball stemmer for spanish language
 pg_catalog | swedish_stem    | snowball stemmer for swedish language
 pg_catalog | tamil_stem      | snowball stemmer for tamil language
 pg_catalog | turkish_stem    | snowball stemmer for turkish language
 pg_catalog | yiddish_stem    | snowball stemmer for yiddish language

\dFp[+] [PADRÃO]

Lista os analisadores de procura de texto (adicione o sinal + para obter mais detalhes).

=> \dFp

 Lista de analisadores de procura de texto
  Esquema   |  Nome   |      Descrição
------------+---------+---------------------
 pg_catalog | default | default word parser
(1 linha)

=> \dFp+

   Analisador de procura de texto "pg_catalog.default"
           Método           |     Função     | Descrição
----------------------------+----------------+------------
 Início da análise          | prsd_start     | (internal)
 Obter o próximo elemento   | prsd_nexttoken | (internal)
 Fim da análise             | prsd_end       | (internal)
 Obter cabeçalho            | prsd_headline  | (internal)
 Obter os tipos de elemento | prsd_lextype   | (internal)

  Tipos de elemento para o analisador "pg_catalog.default"
 Nome do elemento |                Descrição
------------------+------------------------------------------
 asciihword       | Hyphenated word, all ASCII
 asciiword        | Word, all ASCII
 blank            | Space symbols
 email            | Email address
 entity           | XML entity
 file             | File or path name
 float            | Decimal notation
 host             | Host
 hword            | Hyphenated word, all letters
 hword_asciipart  | Hyphenated word part, all ASCII
 hword_numpart    | Hyphenated word part, letters and digits
 hword_part       | Hyphenated word part, all letters
 int              | Signed integer
 numhword         | Hyphenated word, letters and digits
 numword          | Word, letters and digits
 protocol         | Protocol head
 sfloat           | Scientific notation
 tag              | XML tag
 uint             | Unsigned integer
 url              | URL
 url_path         | URL path
 version          | Version number
 word             | Word, all letters

\dFt[+] [PADRÃO]

Lista os modelos de procura de texto (adicione o sinal + para obter mais detalhes).

=> \dFt

                        Lista de modelos de procura de texto
  Esquema   |   Nome    |                         Descrição
------------+-----------+-----------------------------------------------------------
 pg_catalog | ispell    | ispell dictionary
 pg_catalog | simple    | simple dictionary: just lower case and check for stopword
 pg_catalog | snowball  | snowball stemmer
 pg_catalog | synonym   | synonym dictionary: replace word by its synonym
 pg_catalog | thesaurus | thesaurus dictionary: phrase by phrase substitution

Exemplo 12.8. Exemplo do tradutor

Informações sobre objetos de procura de texto completo

Neste exemplo são usados os catálogos do sistema e os meta comandos do psql para obter informações sobre os objetos de procura de texto completo do PostgreSQL, com ênfase no idioma português. Veja psql e Capítulo 52.

-- O catálogo pg_ts_dict contém entradas
-- que definem dicionários de procura de texto
=> SELECT dictname, dictinitoption
    FROM pg_catalog.pg_ts_dict
    WHERE dictname LIKE 'port%';
    dictname     |                  dictinitoption
-----------------+---------------------------------------------------
 portuguese_stem | language = 'portuguese', stopwords = 'portuguese'
-- O catálogo pg_ts_config contém entradas
-- representando configurações de procura de texto.
=> SELECT * FROM pg_catalog.pg_ts_config WHERE cfgname LIKE 'port%';
  oid  |  cfgname   | cfgnamespace | cfgowner | cfgparser
-------+------------+--------------+----------+-----------
 13214 | portuguese |           11 |       10 |      3722
-- Lista de configurações de procura de texto em português
=> \dF 'port*'
           Lista de configurações de procura de texto
  Esquema   |    Nome    |               Descrição
------------+------------+---------------------------------------
 pg_catalog | portuguese | configuration for portuguese language
-- Lista de dicionários de procura de texto em português
=> \dFd port*
                Lista de dicionários de procura de texto
  Esquema   |      Nome       |                Descrição
------------+-----------------+------------------------------------------
 pg_catalog | portuguese_stem | snowball stemmer for portuguese language
-- Lista de dicionários de procura de texto no esquema public
=> \dFd public.*
Lista de dicionários de procura de texto
 Esquema |       Nome       | Descrição
---------+------------------+-----------
 public  | dic_simples      |
 public  | english_ispell   |
 public  | lusa_syn         |
 public  | my_synonym       |
 public  | oo3x_pt_pt       |
 public  | pg_dict          |
 public  | simple_dict      |
 public  | syn              |
 public  | thesaurus_astro  |
 public  | thesaurus_simple |