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:
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. |
Estas informações foram úteis? Gostaríamos de receber seus comentários.