Guia do desenvolvedor

Local Navigation

Usar pragmas

O comando PRAGMA é um recurso do SQLite que permite que você consulte um esquema, consulte e modifique o cookie de esquema e o cookie de usuário, modifique a operação da biblioteca do SQLite e depure a biblioteca. Os pragmas suportados são documentados na classe Pragma.

A API Database suporta os seguintes comandos Pragma:

Pragma

Descrição

collation_list

Recebe uma lista das sequências de agrupamento que estão definidas para a conexão atual de banco de dados.

Por exemplo, para obter uma lista das sequências de agrupamento definidas, execute a instrução SQL "PRAGMA collation_list;" e leia as linhas resultantes.

compile_options

Recebe os nomes de opções em tempo de compilação que são usadas ao construir o banco de dados.

Por exemplo, para obter as opções de compilação da biblioteca do SQLite, execute a instrução SQL "PRAGMA compile_options;" e leia as linhas resultantes. Haverá uma opção por linha.

database_list

Obtém uma linha para cada banco de dados que está anexado à conexão de banco de dados atual.

Por exemplo, para obter uma lista dos bancos de dados anexados para uma conexão, execute a instrução SQL "PRAGMA database_list;" e leia as linhas resultantes. Haverá um único nome de banco de dados por linha.

foreign_keys

Obtém ou define a aplicação de restrições de chaves estrangeiras. Esta configuração é equivalente a usar a opção foreign_key_constraints na classe DatabaseOptions.

Por exemplo, para definir a aplicação de restrições de chaves estrangeiras, execute a instrução SQL "PRAGMA foreign_keys;" fora de uma transação.

freelist_count

Obtém o número de páginas não utilizadas no banco de dados, que você pode usar para determinar quando executar o comando VACUUM.

Por exemplo, para obter o número de páginas não utilizadas em um arquivo de banco de dados, execute a instrução SQL "PRAGMA freelist_count;" e leia a linha resultante.

journal_mode

Obtém ou define o modo de diário da conexão de banco de dados atual. As configurações disponíveis fornecem diferentes níveis de desempenho e segurança de dados. Todas as opções com exceção de WAL e OFF usam um diário de reversão. As opções são:

  • DELETE: Exclui o diário de reversão ao término de uma transação (o padrão).
  • TRUNCATE: Confirma transações truncando o diário de reversão para comprimento zero.
  • PERSIST: Impede que outras conexões façam a reversão do diário. Neste modo, o diário de reversão pode tornar-se muito grande, então você pode desejar monitorá-lo com journal_size_limit.
  • MEMORY: Armazena o diário de reversão em RAM.
  • WAL: Faz com que um log de write-ahead seja usado em vez de um diário de reversão.
  • OFF: Desabilita o diário de reversão, que desabilita os recursos de confirmação atômica e reversão do SQLite.

Por exemplo, para verificar o modo de geração de diário, execute a instrução SQL "PRAGMA journal_mode;" e leia a linha resultante. Para alterar o modo de geração de diário para um log de write-ahead, execute a instrução SQL "PRAGMA journal_mode = WAL;".

journal_size_limit

Obtém ou define o limite de tamanho do diário, em bytes. Isto é útil quando journal_mode está definido como PERSIST.

Por exemplo, para verificar o limite de tamanho do diário, execute a instrução SQL "PRAGMA journal_size_limit;" e leia a linha resultante. Para definir o limite de tamanho do diário como 1.000 bytes, execute a instrução SQL "PRAGMA journal_size_limit = 1000;".

page_count

Obtém o número total de páginas no banco de dados.

synchronous

Define o modo síncrono para seu banco de dados. As opções são FULL (o modo mais seguro, porém mais lento, e o padrão), NORMAL e OFF.

Por exemplo, para verificar o modo síncrono, execute a instrução SQL "PRAGMA synchronous;" e leia a linha resultante. Para alterar o modo síncrono para OFF, execute a instrução SQL "PRAGMA synchronous = 0;".

user_version

Obtém ou define uma versão do usuário. A versão do usuário não é usada pelo SQLite; ela está disponível para ser utilizada. A versão do usuário é um número inteiro assinado de 32 bits.

Por exemplo, para definir a versão do usuário como 123, execute a instrução SQL "PRAGMA user_version = 123;". Para verificar a versão do usuário, execute a instrução SQL "PRAGMA user_version;" e leia a linha resultante.

Próximo tópico: Trabalhar com blobs

Estas informações foram úteis? Gostaríamos de receber seus comentários.