My Writings. My Thoughts.
Contagem de Caracteres Digitados
At » 06:17 // 1 Comments »
(Caracteres) Limite: 32 - Restantes:
Funcao Exibe o limite e o numero de caracteres digitados
TextArea de Exemplo
(Caracteres) Limite: 32 - Restantes:
Tabela de acentos e caracteres especiais
At » 09:57 // 0 Comments »
Ao usar um editor de texto que permita acentuação para criar um página, corremos o risco dos acentos não serem interpretados corretamente por alguns browsers, em especial browsers instalados em países onde não se utiliza acentuação, como os Estados Unidos, por exemplo. Se quisermos garantir que a acentuação da nossa página vai ser universalmente entendida devemos usar as entities. Nas entities faz diferença usar caracteres maiúsculos ou minúsculos. Na verdade entities é o único caso onde a HTML é case-sensitive. É verdade que é muito trabalhoso colocar as entities ao invés de usar diretamente os caracteres acentuados, mas alguns editores (como o emacs, por exemplo) permitem que digitemos os acentos e eles se encarregam de converter para as entities. A tabela abaixo especifica as entities usadas para conseguir letras acentuadas, e alguns caracteres especiais como c cedilha, símbolo de copyright, caracteres nórdicos, etc.
| Á | Á | È | È | ô | ô | Ç | Ç | |||
| á | á | è | è | Ò | Ò | ç | ç | |||
| Â | Â | Ë | Ë | ò | ò | |||||
| â | â | ë | ë | Ø | Ø | Ñ | Ñ | |||
| À | À | Ð | Ð | ø | ø | ñ | ñ | |||
| à | à | ð | ð | Õ | Õ | |||||
| Å | Å | õ | õ | Ý | Ý | |||||
| å | å | Í | Í | Ö | Ö | ý | ý | |||
| Ã | Ã | í | í | ö | ö | |||||
| ã | ã | Î | Î | " | " | |||||
| Ä | Ä | î | î | Ú | Ú | < | < | |||
| ä | ä | Ì | Ì | ú | ú | > | > | |||
| Æ | Æ | ì | ì | Û | Û | & | & | |||
| æ | æ | Ï | Ï | û | û | |||||
| ï | ï | Ù | Ù | ® | ® | |||||
| É | É | ù | ù | © | © | |||||
| é | é | Ó | Ó | Ü | Ü | Þ | Þ | |||
| Ê | Ê | ó | ó | ü | ü | þ | þ | |||
| ê | ê | Ô | Ô | ß | ß |
É possível conseguir acentuação, os caracteres especiais já vistos e ainda outros usando o código ASCII precedido de &#. A tabela a seguir mostra os códigos e sua interpretação.
| ! | ! | A | A | a | a | £ | £ | Ã | Ã | ã | ã | |||||
| " | " | B | B | b | b | ¤ | ¤ | Ä | Ä | ä | ä | |||||
| # | # | C | C | c | c | ¥ | ¥ | Å | Å | å | å | |||||
| $ | $ | D | D | d | d | ¦ | ¦ | Æ | Æ | æ | æ | |||||
| % | % | E | E | e | e | § | § | Ç | Ç | ç | ç | |||||
| & | & | F | F | f | f | ¨ | ¨ | È | È | è | è | |||||
| ' | ' | G | G | g | g | © | © | É | É | é | é | |||||
| ( | ( | H | H | h | h | ª | ª | Ê | Ê | ê | ê | |||||
| ) | ) | I | I | i | i | « | « | Ë | Ë | ë | ë | |||||
| * | * | J | J | j | j | ¬ | ¬ | Ì | Ì | ì | ì | |||||
| + | + | K | K | k | k | ­ | | Í | Í | í | í | |||||
| , | , | L | L | l | l | ® | ® | Î | Î | î | î | |||||
| - | - | M | M | m | m | ¯ | ¯ | Ï | Ï | ï | ï | |||||
| . | . | N | N | n | n | ° | ° | Ð | Ð | ð | ð | |||||
| / | / | O | O | o | o | ± | ± | Ñ | Ñ | ñ | ñ | |||||
| 0 | 0 | P | P | p | p | ² | ² | Ò | Ò | ò | ò | |||||
| 1 | 1 | Q | Q | q | q | ³ | ³ | Ó | Ó | ó | ó | |||||
| 2 | 2 | R | R | r | r | ´ | ´ | Ô | Ô | ô | ô | |||||
| 3 | 3 | S | S | s | s | µ | µ | Õ | Õ | õ | õ | |||||
| 4 | 4 | T | T | t | t | ¶ | ¶ | Ö | Ö | ö | ö | |||||
| 5 | 5 | U | U | u | u | · | · | × | × | ÷ | ÷ | |||||
| 6 | 6 | V | V | v | v | ¸ | ¸ | Ø | Ø | ø | ø | |||||
| 7 | 7 | W | W | w | w | ¹ | ¹ | Ù | Ù | ù | ù | |||||
| 8 | 8 | X | X | x | x | º | º | Ú | Ú | ú | ú | |||||
| 9 | 9 | Y | Y | y | y | » | » | Û | Û | û | û | |||||
| : | : | Z | Z | z | z | ¼ | ¼ | Ü | Ü | ü | ü | |||||
| ; | ; | [ | [ | { | { | ½ | ½ | Ý | Ý | ý | ý | |||||
| < | < | \ | \ | | | | | ¾ | ¾ | Þ | Þ | þ | þ | |||||
| = | = | ] | ] | } | } | ¿ | ¿ | ß | ß | ÿ | ÿ | |||||
| > | > | ^ | ^ | ~ | ~ | À | À | à | à | Ā | Ā | |||||
| ? | ? | _ | _ | ¡ | ¡ | Á | Á | á | á | |||||||
| @ | @ | ` | ` | ¢ | ¢ | Â | Â | â | â |
Validação Data em único Campo (dd/MM/yyyy)
At » 07:07 // 0 Comments »
Função Javascript de Validação Data em único Campo(dd/MM/yyyy)
Chamada da Função
function validarData(campo){
var expReg = /^(([0-2]\d|[3][0-1])\/([0]\d|[1][0-2])\/[1-2][0-9]\d{2})$/;
var msgErro = 'Formato inválido de data.';
if ((campo.value.match(expReg)) && (campo.value!='')){
var dia = campo.value.substring(0,2);
var mes = campo.value.substring(3,5);
var ano = campo.value.substring(6,10);
if(mes==4 || mes==6 || mes==9 || mes==11 && dia > 30){
alert("Dia incorreto !!! O mês especificado contém no máximo 30 dias.");
return false;
} else{
if(ano%4!=0 && mes==2 && dia>28){
alert("Data incorreta!! O mês especificado contém no máximo 28 dias.");
return false;
} else{
if(ano%4==0 && mes==2 && dia>29){
alert("Data incorreta!! O mês especificado contém no máximo 29 dias.");
return false;
} else{
alert ("Data correta!");
return true;
}}}} else {
alert(msgErro);
campo.focus();
return false;
}}
Chamada da Função
Data(dd/MM/yyyy):
Zézinho não joga aviãozinho!
At » 12:43 // 0 Comments »
Zézinho estava atrapalhando a aula jogando aviõezinhos de papel nos colegas. A professora viu
e mandou Zézinho escrever 500 vezes no quadro: Não vou mais jogar aviõezinhos de papel na
aula! Ai Zézinho foi lá e escreveu:
#include
int i;
void main () {
for (i=1; i<=500; i++)
printf(“Não vou mais jogar aviõezinhos de papel na aula!”);
}
HTML Encoder
At » 15:48 // 0 Comments »
Esta página HTML irá converter caracteres especiais em entidades HTML. O texto codificado pode ser inserido em outro documento HTML ou blog destacamento e os caracteres reservados (como < e &) vai aparecer normalmente. Digite o texto no campo do formulário abaixo.
O resultado codificado será exibido no campo inferior, enquanto você digita.
HTML para Codificar:
HTML Codificado: (Clique para selecionar)
A codificação HTML é realizada com esta função Javascript:
/* encode html entities */
var char2entity = {
'"' : '"',
'<' : '<',
'>' : '>',
'&' : '&',
"'" : ''' /* IE can't handle ' */
};
function encode_entities(str) {
var rv = '';
for (var i = 0; i < str.length; i++) {
var ch = str.charAt(i);
rv += char2entity[ch] || ch;
}
return rv;
}
Marcar checkbox na vertical e horizontal
At » 14:48 // 0 Comments »
Abaixo segue o código de como marcar checkbox (geralmente utilizado para dar permissão a usuários), é possível marcar tanto na horizontal como na vertical. Assim facilita a vida da pessoa que irá dar permissão.

<html>
<head>
<script>
function CheckAll(linha,chkStatus) {
for (var i=0;i<document.acessoUsuarioForm.elements.length;i++) {
var x = document.acessoUsuarioForm.elements[i];
if (x.name == 'chkIncluir'+linha ) {
if(chkStatus == true)
x.checked = true;
else
x.checked = false;
}
if (x.name == 'chkAlterar'+linha ) {
if(chkStatus == true)
x.checked = true;
else
x.checked = false;
}
if (x.name == 'chkExcluir'+linha ) {
if(chkStatus == true)
x.checked = true;
else
x.checked = false;
}
if (x.name == 'chkPesquisar'+linha ) {
if(chkStatus == true)
x.checked = true;
else
x.checked = false;
}
}
}
function CheckAllCol(coluna,chkStatus) {
for (var i=0;i<document.acessoUsuarioForm.elements.length;i++) {
var x = document.acessoUsuarioForm.elements[i];
if(coluna == 1){
if (x.id == 'chkIncluir' ) {
if(chkStatus == true)
x.checked = true;
else
x.checked = false;
}
}
if(coluna == 2){
if (x.id == 'chkAlterar' ) {
if(chkStatus == true)
x.checked = true;
else
x.checked = false;
}
}
if(coluna == 3){
if (x.id == 'chkExcluir' ) {
if(chkStatus == true)
x.checked = true;
else
x.checked = false;
}
}
if(coluna == 4){
if (x.id == 'chkPesquisar' ) {
if(chkStatus == true)
x.checked = true;
else
x.checked = false;
}
}
}
}
</script>
<style>
table.bordasimples tr td {border:1px solid darkblue;}
table tr.dif td {background: #4278B6; font-color=#FFF;}
body{
font-color=#000000;
font-family: arial, verdana;
font-size: 12px;"
}
</style>
</head>
<body >
<form name="acessoUsuarioForm">
<table border='0' align='center' cellpadding='3' cellspacing='5' class="bordasimples">
<tr class="dif">
<td><font color=#ffffff style="font-family: arial, verdana; font-size: 12px;"><b> Menu</b></font></td>
<td><font color=#ffffff style="font-family: arial, verdana; font-size: 12px;"><b> Incluir</b></font></td>
<td><font color=#ffffff style="font-family: arial, verdana; font-size: 12px;"><b> Alterar</b></font></td>
<td><font color=#ffffff style="font-family: arial, verdana; font-size: 12px;"><b> Excluir</b></font></td>
<td><font color=#ffffff style="font-family: arial, verdana; font-size: 12px;"><b> Consultar</b></font></td>
<td><font color=#ffffff style="font-family: arial, verdana; font-size: 12px;"><b> Marcar Permissão</b></font></td>
</tr>
<tr>
<td></td>
<td align='center'><input type=checkbox name="selallI" onClick="JavaScript:CheckAllCol(1,this.checked);"></td>
<td align='center'><input type=checkbox name="selallA" onClick="JavaScript:CheckAllCol(2,this.checked);"></td>
<td align='center'><input type=checkbox name="selallE" onClick="JavaScript:CheckAllCol(3,this.checked);"></td>
<td align='center'><input type=checkbox name="selallP" onClick="JavaScript:CheckAllCol(4,this.checked);"></td>
<td>←Vertical ↓Horizontal </td>
</tr>
<tr>
<td>
Clientes
</td>
<td align='center'>
<input type="checkbox" name="chkIncluir1" id="chkIncluir" />
</td>
<td align='center'>
<input type="checkbox" name="chkAlterar1" id="chkAlterar" />
</td>
<td align='center'>
<input type="checkbox" name="chkExcluir1" id="chkExcluir" />
</td>
<td align='center'>
<input type="checkbox" name="chkPesquisar1" id="chkPesquisar"/>
</td>
<td align='center'>
<input type=checkbox name="selall1" onClick="JavaScript:CheckAll(1, this.checked);">
</td>
</tr>
<tr>
<td>
Estoque
</td>
<td align='center'>
<input type="checkbox" name="chkIncluir2" id="chkIncluir" />
</td>
<td align='center'>
<input type="checkbox" name="chkAlterar2" id="chkAlterar" />
</td>
<td align='center'>
<input type="checkbox" name="chkExcluir2" id="chkExcluir" />
</td>
<td align='center'>
<input type="checkbox" name="chkPesquisar2" id="chkPesquisar"/>
</td>
<td align='center'>
<input type=checkbox name="selall2" onClick="JavaScript:CheckAll(2, this.checked);">
</td>
</tr>
</table>
</form>
</body>
</html>
Função Javascript de Validação Genérica
At » 11:19 // 0 Comments »
Função Javascript de Validação Genérica
Chamada no input:
/*
Descrição.: formata um campo do formulário de
acordo com a máscara informada...
Parâmetros: - objForm (o Objeto Form)
- strField (string contendo o nome do textbox)
* - sMask (mascara que define o
* formato que o dado será apresentado,
* usando o algarismo "9" para
* definir números e o símbolo "!" para
* qualquer caracter...
* - evtKeyPress (evento)
* Uso.......: * name="xxx".....
* onkeypress="return txtBoxFormat(document.rcfDownload, 'str_cep', '99999-999', event);">
* Observação: As máscaras podem ser representadas como os exemplos abaixo:
* CEP -> 99.999-999
* CPF -> 999.999.999-99
* CNPJ -> 99.999.999/9999-99
* Data -> 99/99/9999
* Tel Resid -> (99) 999-9999
* Tel Cel -> (99) 9999-9999
* Processo -> 99.999999999/999-99
* C/C -> 999999-!
* E por aí vai...
***/
function txtBoxFormat(objForm, strField, sMask, evtKeyPress) {
var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;
if(document.all) { // Internet Explorer
nTecla = evtKeyPress.keyCode;
} else if(document.layers) { // Nestcape
nTecla = evtKeyPress.which;
} else {
nTecla = evtKeyPress.which;
if (nTecla == 8) {
return true;
}
}
sValue = objForm[strField].value;
// Limpa todos os caracteres de formatação que
// já estiverem no campo.
// toString().replace [transforma em sring e troca elementos por ""]
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( "-", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( ".", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "/", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( "(", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( ")", "" );
sValue = sValue.toString().replace( " ", "" );
sValue = sValue.toString().replace( " ", "" );
fldLen = sValue.length;
mskLen = sMask.length;
i = 0;
nCount = 0;
sCod = "";
mskLen = fldLen;
while (i <= mskLen) {
bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " ") || (sMask.charAt(i) == "."))
//Se for true utiliza elementos especiais aumenta a máscara
if (bolMask) {
sCod += sMask.charAt(i);
mskLen++;
//Caso false mostra o sValue(o q foi digitado)
} else {
sCod += sValue.charAt(nCount);
nCount++;
}
i++;
}
objForm[strField].value = sCod;
if (nTecla != 8) { // backspace
if (sMask.charAt(i-1) == "9") { // apenas números...
return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
else { // qualquer caracter...
return true;
}
} else {
return true;
}
}
Chamada no input:
<input name="txt" id="txt" value="<% = rst("nome_do_campo") %>" onkeypress="return txtBoxFormat(this.form, this.name, '99/99/9999', event);">
PostgreSQL - pg_dump
At » 08:02 // 0 Comments »
Name
pg_dump -- extrai um banco de dados do PostgreSQL para um arquivo script ou de exportação
Synopsis
pg_dump [-a | -s] [-b] [-c] [-C] [-d | -D] [-f arquivo] [-F formato] [-i] [-n | -N] [-o] [-O] [-R] [-S] [-t tabela] [-v] [-x] [-X palavra_chave] [-Z 0...9] [-h hospedeiro] [-p porta] [-U nome_do_usuário] [-W] nome_bd
Descrição
O pg_dump é um utilitário para salvar um banco de dados do PostgreSQL em um arquivo script ou de exportação. Os arquivos script são no formato texto-puro e contêm os comandos SQL necessários para reconstruir o banco de dados no estado em que este se encontrava no momento que foi salvo. Estes scripts podem ser usados até para reconstruir o banco de dados em outras máquinas com outras arquiteturas e, com algumas modificações, até em outros SGBDR. Além do script, existem outros formatos de exportação feitos para serem usados em conjunto com o pg_restore para reconstruir o banco de dados, que permitem ao pg_restore selecionar o que deve ser restaurado, ou mesmo reordenar a restauração dos itens. Estes formatos de exportação também são projetados para serem portáveis entre arquiteturas.
O pg_dump salva as informações necessárias para regerar todos os tipos, funções, tabelas, índices, agregações e operadores definidos pelo usuário. Adicionalmente, todos os dados são salvos no formato texto para que possam ser prontamente importados, bem como tratados por ferramentas de edição.
O pg_dump é útil para exportar o conteúdo de um banco de dados a ser movido de um PostgreSQL para outro.
Quando usado com um dos formatos de exportação e combinado com o pg_restore , o pg_dump fornece um mecanismo de exportação e importação flexível. O pg_dump pode ser usado para exportar todo o banco de dados e, posteriormente, o pg_restore pode ser usado para examinar o arquivo e/ou selecionar que partes do banco de dados devem ser importadas. O formato mais flexível produzido é o "personalizado" (custom, -Fc), que permite a seleção e a reordenação de todos os itens exportados, sendo comprimido por padrão. O formato tar (-Ft) não é comprimido e não permite reordenar os dados durante a importação mas, por outro lado, é bastante flexível; além disso, pode ser tratado por outras ferramentas como o tar.
Ao executar o pg_dump deve-se examinar a saída procurando por advertências (escritas na saída de erro padrão), atento especialmente às limitações listadas abaixo.
O pg_dump cria cópias de segurança consistentes, mesmo se o banco de dados estiver sendo usado concorrentemente. O pg_dump não bloqueia os outros usuários que porventura estejam acessando o banco de dados (leitura ou gravação).
Opções
O pg_dump aceita os seguintes argumentos de linha de comando (As formas longas das opções estão disponíveis apenas em algumas plataformas).
nome_bd - Especifica o nome do banco de dados a ser exportado.
-a
--data-only
Exporta somente os dados, não o esquema (definições dos dados).
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-b
--blobs
Exporta os objetos binários grandes (blobs).
-c
--clean
Gera comandos para excluir (drop) os objetos do banco de dados antes de criá-los.
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-C
--create
Inicia a saída por um comando para criar o próprio banco de dados e se conectar ao banco de dados criado (Com um script assim, não importa em qual o banco de dados se está conectado antes de executar o script).
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-d
--inserts
Exporta os dados como comandos INSERT (em vez de COPY), tornando a importação muito lenta, porém os arquivos exportados tornam-se mais portáveis para outros SGBDR.
-D
--column-inserts
--attribute-inserts
Exporta os dados como comandos INSERT com nomes explícitos das colunas (INSERT INTO tabela (coluna, ...) VALUES ...), tornando a importação muito lenta, mas é necessário se for desejado mudar a ordem das colunas.
-f arquivo
--file=arquivo
Envia a saída para o arquivo especificado. Se for omitido, a saída padrão é usada.
-F formato
--format=formato
Seleciona o formato da saída. O formato pode ser um dos seguintes:
p
Exporta um script SQL para um arquivo texto-puro (padrão)
t
Exporta um arquivo tar adequado para servir de entrada para o pg_restore. Usando este formato de exportação pode-se reordenar e/ou excluir elementos do esquema durante a restauração do banco de dados. Também é possível limitar quais dados são importados durante a restauração.
c
Exporta um arquivo personalizado apropriado para servir de entrada para o pg_restore. Este é o formato mais flexível porque permite a reordenação da importação dos dados, assim como dos elementos do esquema. Este formato também é comprimido por padrão.
-i
--ignore-version
Ignora a diferença de versão entre o pg_dump e o servidor de banco de dados. Como o pg_dump trabalha muito ligado aos catálogos do sistema, toda versão do pg_dump é feita para ser usada somente com a versão correspondente do servidor de banco de dados. Use esta opção se for necessário desconsiderar a verificação de versão (mas, se o pg_dump falhar, não diga que não foi avisado).
-n
--no-quotes
Suprime as aspas (") em torno dos identificadores a menos que seja absolutamente necessário. Pode causar problemas na importação dos dados exportados se existirem palavras reservadas usadas pelos identificadores. Este era o comportamento padrão para o pg_dump antes da versão 6.4.
-N
--quotes
Inclui aspas em torno dos identificadores. Este é o padrão.
-o
--oids
Exporta os identificadores de objeto (OIDs) para todas as tabelas. Deve-se usar esta opção quando a coluna OID é referenciada de alguma maneira (por exemplo, em uma restrição de chave estrangeira). Caso contrário esta opção não deve ser usada.
-O
--no-owner
Não gera comandos para definir o mesmo dono do objeto do banco de dados original. Tipicamente, o pg_dump gera comandos \connect (específico do psql) para definir o dono dos elementos do esquema. Consulte também as opções -R e -X use-set-session-authorization. Observe que a opção -O não impede todas as reconexões ao banco de dados, mas somente àquelas que são usadas exclusivamente para acertar o dono.
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-R
--no-reconnect
Proíbe o pg_dump gerar um script que requeira reconexões com o banco de dados quando for realizada a importação. Usualmente, um script de importação necessita reconectar várias vezes como usuários diferentes para especificar o dono original dos objetos. Esta opção é um instrumento bastante rudimentar, porque faz o pg_dump perder a informação sobre o dono, a menos que seja usada a opção -X use-set-session-authorization.
Uma das razões possíveis para não se desejar a reconexão durante a importação é o acesso ao banco de dados requerer intervenção manual (por exemplo, senhas).
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-s
--schema-only
Exporta somente o esquema (definições dos dados), sem os dados.
-S nome_do_usuário
--superuser=nome_do_usuário
Os scripts e os arquivos de exportação gerados pelo pg_dump necessitam do privilégio de superusuário em certos casos, como desativar gatilhos ou definir o dono dos elementos do esquema. Esta opção especifica o nome do usuário a ser usado nestes casos.
-t tabela
--table=tabela
Exporta os dados da tabela apenas.
-v
--verbose
Especifica o modo verboso.
-x
--no-privileges
--no-acl
Impede gerar os privilégios de acessos (comandos GRANT/REVOKE).
-X use-set-session-authorization
--use-set-session-authorization
Normalmente, se o script (modo texto-puro) gerado pelo pg_dump necessita trocar o usuário corrente do banco de dados (por exemplo, para definir o dono correto do objeto) é usado o comando \connect do psql. Este comando na verdade abre uma nova conexão, o que pode requerer a intervenção manual (por exemplo, senhas). Se for usada a opção -X use-set-session-authorization, então o pg_dump vai usar o comando SET SESSION AUTHORIZATION. Embora produza o mesmo efeito, requer que o usuário que for fazer a importação do banco de dados a partir do script gerado seja um superusuário. Esta opção substitui a opção -R.
Como o SET SESSION AUTHORIZATION é um comando SQL padrão, enquanto o \connect somente funciona no psql, esta opção também aumenta a portabilidade teórica do script gerado.
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-Z 0..9
--compress=0..9
Especifica o nível de compressão a ser usado nos arquivos com formatos que suportam compressão (atualmente somente o formato personalizado suporta compressão).
O pg_dump também aceita os seguintes argumentos de linha de comando para os parâmetros de conexão:
-h hospedeiro
--host=hospedeiro
Especifica o nome da máquina onde o servidor está executando. Se o nome iniciar por uma barra (/), é considerado como sendo o diretório do soquete do domínio Unix.
-p porta
--port=porta
Especifica a porta Internet TCP/IP, ou o soquete do domínio local Unix, onde o servidor está aguardando as conexões. O padrão para o número da porta é 5432, ou o valor da variável de ambiente PGPORT (se estiver definida).
-U nome_do_usuário
Nome do usuário para se conectar.
-W
Força a solicitação da senha. Deve acontecer automaticamente se o servidor requerer autenticação por senha.
Exemplos
Para exportar um banco de dados:
$ pg_dump meu_bd > db.out
Para importar este banco de dados:
$ psql -d database -f db.out
Para exportar um banco de dados chamado meu_bd que contém objetos grandes para um arquivo tar:
$ pg_dump -Ft -b meu_bd > bd.tar
Para importar este banco de dados (com os objetos grandes) para um banco de dados existente chamado novo_bd:
$ pg_restore -d novo_bd bd.tar
Para exportar um banco de dados chamado nome que contém criação do banco junto com insert dos dados existente:
pg_dump -d -U db_user -h ip_banco -f nome.sql nome_banco
pg_dump -- extrai um banco de dados do PostgreSQL para um arquivo script ou de exportação
Synopsis
pg_dump [-a | -s] [-b] [-c] [-C] [-d | -D] [-f arquivo] [-F formato] [-i] [-n | -N] [-o] [-O] [-R] [-S] [-t tabela] [-v] [-x] [-X palavra_chave] [-Z 0...9] [-h hospedeiro] [-p porta] [-U nome_do_usuário] [-W] nome_bd
Descrição
O pg_dump é um utilitário para salvar um banco de dados do PostgreSQL em um arquivo script ou de exportação. Os arquivos script são no formato texto-puro e contêm os comandos SQL necessários para reconstruir o banco de dados no estado em que este se encontrava no momento que foi salvo. Estes scripts podem ser usados até para reconstruir o banco de dados em outras máquinas com outras arquiteturas e, com algumas modificações, até em outros SGBDR. Além do script, existem outros formatos de exportação feitos para serem usados em conjunto com o pg_restore para reconstruir o banco de dados, que permitem ao pg_restore selecionar o que deve ser restaurado, ou mesmo reordenar a restauração dos itens. Estes formatos de exportação também são projetados para serem portáveis entre arquiteturas.
O pg_dump salva as informações necessárias para regerar todos os tipos, funções, tabelas, índices, agregações e operadores definidos pelo usuário. Adicionalmente, todos os dados são salvos no formato texto para que possam ser prontamente importados, bem como tratados por ferramentas de edição.
O pg_dump é útil para exportar o conteúdo de um banco de dados a ser movido de um PostgreSQL para outro.
Quando usado com um dos formatos de exportação e combinado com o pg_restore , o pg_dump fornece um mecanismo de exportação e importação flexível. O pg_dump pode ser usado para exportar todo o banco de dados e, posteriormente, o pg_restore pode ser usado para examinar o arquivo e/ou selecionar que partes do banco de dados devem ser importadas. O formato mais flexível produzido é o "personalizado" (custom, -Fc), que permite a seleção e a reordenação de todos os itens exportados, sendo comprimido por padrão. O formato tar (-Ft) não é comprimido e não permite reordenar os dados durante a importação mas, por outro lado, é bastante flexível; além disso, pode ser tratado por outras ferramentas como o tar.
Ao executar o pg_dump deve-se examinar a saída procurando por advertências (escritas na saída de erro padrão), atento especialmente às limitações listadas abaixo.
O pg_dump cria cópias de segurança consistentes, mesmo se o banco de dados estiver sendo usado concorrentemente. O pg_dump não bloqueia os outros usuários que porventura estejam acessando o banco de dados (leitura ou gravação).
Opções
O pg_dump aceita os seguintes argumentos de linha de comando (As formas longas das opções estão disponíveis apenas em algumas plataformas).
nome_bd - Especifica o nome do banco de dados a ser exportado.
-a
--data-only
Exporta somente os dados, não o esquema (definições dos dados).
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-b
--blobs
Exporta os objetos binários grandes (blobs).
-c
--clean
Gera comandos para excluir (drop) os objetos do banco de dados antes de criá-los.
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-C
--create
Inicia a saída por um comando para criar o próprio banco de dados e se conectar ao banco de dados criado (Com um script assim, não importa em qual o banco de dados se está conectado antes de executar o script).
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-d
--inserts
Exporta os dados como comandos INSERT (em vez de COPY), tornando a importação muito lenta, porém os arquivos exportados tornam-se mais portáveis para outros SGBDR.
-D
--column-inserts
--attribute-inserts
Exporta os dados como comandos INSERT com nomes explícitos das colunas (INSERT INTO tabela (coluna, ...) VALUES ...), tornando a importação muito lenta, mas é necessário se for desejado mudar a ordem das colunas.
-f arquivo
--file=arquivo
Envia a saída para o arquivo especificado. Se for omitido, a saída padrão é usada.
-F formato
--format=formato
Seleciona o formato da saída. O formato pode ser um dos seguintes:
p
Exporta um script SQL para um arquivo texto-puro (padrão)
t
Exporta um arquivo tar adequado para servir de entrada para o pg_restore. Usando este formato de exportação pode-se reordenar e/ou excluir elementos do esquema durante a restauração do banco de dados. Também é possível limitar quais dados são importados durante a restauração.
c
Exporta um arquivo personalizado apropriado para servir de entrada para o pg_restore. Este é o formato mais flexível porque permite a reordenação da importação dos dados, assim como dos elementos do esquema. Este formato também é comprimido por padrão.
-i
--ignore-version
Ignora a diferença de versão entre o pg_dump e o servidor de banco de dados. Como o pg_dump trabalha muito ligado aos catálogos do sistema, toda versão do pg_dump é feita para ser usada somente com a versão correspondente do servidor de banco de dados. Use esta opção se for necessário desconsiderar a verificação de versão (mas, se o pg_dump falhar, não diga que não foi avisado).
-n
--no-quotes
Suprime as aspas (") em torno dos identificadores a menos que seja absolutamente necessário. Pode causar problemas na importação dos dados exportados se existirem palavras reservadas usadas pelos identificadores. Este era o comportamento padrão para o pg_dump antes da versão 6.4.
-N
--quotes
Inclui aspas em torno dos identificadores. Este é o padrão.
-o
--oids
Exporta os identificadores de objeto (OIDs) para todas as tabelas. Deve-se usar esta opção quando a coluna OID é referenciada de alguma maneira (por exemplo, em uma restrição de chave estrangeira). Caso contrário esta opção não deve ser usada.
-O
--no-owner
Não gera comandos para definir o mesmo dono do objeto do banco de dados original. Tipicamente, o pg_dump gera comandos \connect (específico do psql) para definir o dono dos elementos do esquema. Consulte também as opções -R e -X use-set-session-authorization. Observe que a opção -O não impede todas as reconexões ao banco de dados, mas somente àquelas que são usadas exclusivamente para acertar o dono.
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-R
--no-reconnect
Proíbe o pg_dump gerar um script que requeira reconexões com o banco de dados quando for realizada a importação. Usualmente, um script de importação necessita reconectar várias vezes como usuários diferentes para especificar o dono original dos objetos. Esta opção é um instrumento bastante rudimentar, porque faz o pg_dump perder a informação sobre o dono, a menos que seja usada a opção -X use-set-session-authorization.
Uma das razões possíveis para não se desejar a reconexão durante a importação é o acesso ao banco de dados requerer intervenção manual (por exemplo, senhas).
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-s
--schema-only
Exporta somente o esquema (definições dos dados), sem os dados.
-S nome_do_usuário
--superuser=nome_do_usuário
Os scripts e os arquivos de exportação gerados pelo pg_dump necessitam do privilégio de superusuário em certos casos, como desativar gatilhos ou definir o dono dos elementos do esquema. Esta opção especifica o nome do usuário a ser usado nestes casos.
-t tabela
--table=tabela
Exporta os dados da tabela apenas.
-v
--verbose
Especifica o modo verboso.
-x
--no-privileges
--no-acl
Impede gerar os privilégios de acessos (comandos GRANT/REVOKE).
-X use-set-session-authorization
--use-set-session-authorization
Normalmente, se o script (modo texto-puro) gerado pelo pg_dump necessita trocar o usuário corrente do banco de dados (por exemplo, para definir o dono correto do objeto) é usado o comando \connect do psql. Este comando na verdade abre uma nova conexão, o que pode requerer a intervenção manual (por exemplo, senhas). Se for usada a opção -X use-set-session-authorization, então o pg_dump vai usar o comando SET SESSION AUTHORIZATION. Embora produza o mesmo efeito, requer que o usuário que for fazer a importação do banco de dados a partir do script gerado seja um superusuário. Esta opção substitui a opção -R.
Como o SET SESSION AUTHORIZATION é um comando SQL padrão, enquanto o \connect somente funciona no psql, esta opção também aumenta a portabilidade teórica do script gerado.
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-Z 0..9
--compress=0..9
Especifica o nível de compressão a ser usado nos arquivos com formatos que suportam compressão (atualmente somente o formato personalizado suporta compressão).
O pg_dump também aceita os seguintes argumentos de linha de comando para os parâmetros de conexão:
-h hospedeiro
--host=hospedeiro
Especifica o nome da máquina onde o servidor está executando. Se o nome iniciar por uma barra (/), é considerado como sendo o diretório do soquete do domínio Unix.
-p porta
--port=porta
Especifica a porta Internet TCP/IP, ou o soquete do domínio local Unix, onde o servidor está aguardando as conexões. O padrão para o número da porta é 5432, ou o valor da variável de ambiente PGPORT (se estiver definida).
-U nome_do_usuário
Nome do usuário para se conectar.
-W
Força a solicitação da senha. Deve acontecer automaticamente se o servidor requerer autenticação por senha.
Exemplos
Para exportar um banco de dados:
$ pg_dump meu_bd > db.out
Para importar este banco de dados:
$ psql -d database -f db.out
Para exportar um banco de dados chamado meu_bd que contém objetos grandes para um arquivo tar:
$ pg_dump -Ft -b meu_bd > bd.tar
Para importar este banco de dados (com os objetos grandes) para um banco de dados existente chamado novo_bd:
$ pg_restore -d novo_bd bd.tar
Para exportar um banco de dados chamado nome que contém criação do banco junto com insert dos dados existente:
pg_dump -d -U db_user -h ip_banco -f nome.sql nome_banco
Problema x Solução (FOCO)
At » 02:46 // 0 Comments »
Um paciente vai num consultório psicológico e diz pro doutor:
- Toda vez que estou na cama, acho que tem alguém embaixo. Aí eu vou embaixo da cama e acho que tem alguém em cima. Pra baixo, pra cima, pra baixo, pra cima. Estou ficando maluco!
- Deixe-me tratar de você durante dois anos. - diz o psicólogo. - Venha três vezes por semana, e eu curo este problema.
- E quanto o senhor cobra? - pergunta o paciente.
- 120 reais por sessão - responde o psicólogo.
- Bem, eu vou pensar - conclui o sujeito.
Passados seis meses, eles se encontram na rua.
- Por que você não me procurou mais? - pergunta o psicólogo.
- A 120 reais a consulta, três vezes por semana, dois anos, ia ficar caro demais, ai um sujeito num bar me curou por 10 reais.
- Ah é? Como? - pergunta o psicólogo.
O sujeito responde:
- Por 10 reais ele cortou os pés da cama…
Muitas vezes o problema é sério, mas a solução pode ser muito simples!
HÁ GRANDE DIFERENÇA ENTRE FOCO NO PROBLEMA E FOCO NA SOLUÇÃO!
- Toda vez que estou na cama, acho que tem alguém embaixo. Aí eu vou embaixo da cama e acho que tem alguém em cima. Pra baixo, pra cima, pra baixo, pra cima. Estou ficando maluco!
- Deixe-me tratar de você durante dois anos. - diz o psicólogo. - Venha três vezes por semana, e eu curo este problema.
- E quanto o senhor cobra? - pergunta o paciente.
- 120 reais por sessão - responde o psicólogo.
- Bem, eu vou pensar - conclui o sujeito.
Passados seis meses, eles se encontram na rua.
- Por que você não me procurou mais? - pergunta o psicólogo.
- A 120 reais a consulta, três vezes por semana, dois anos, ia ficar caro demais, ai um sujeito num bar me curou por 10 reais.
- Ah é? Como? - pergunta o psicólogo.
O sujeito responde:
- Por 10 reais ele cortou os pés da cama…
Muitas vezes o problema é sério, mas a solução pode ser muito simples!
HÁ GRANDE DIFERENÇA ENTRE FOCO NO PROBLEMA E FOCO NA SOLUÇÃO!
Encapsulamento em Java
At » 20:22 // 0 Comments »
Olá developers Java, vou falar um pouco sobre ENCAPSULAMENTO em java, O Encapsulamento é uma forma de proteger os atributos de uma classe, de forma a não ser acessada de qualquer forma em qualquer classe do projeto, mas o conteúdo desses atributos pode ser acessado somente através de métodos específicos. Geralmente os métodos que permitem a escrita no conteúdo dos atributos é iniciado por "Get", e os métodos de leitura de "Set".
Por exemplo:
Protegeremos os atributos através do modificador de acesso Private utilizado na declaração do atributo antes do tipo da variável.
Por exemplo:
Quando utilizamos o modificador private somente a classe onde o atributo foi declarado será visível, por isso devemos criar métos que realizem o acesso aos atributos, como queremos que sejam acessados por outras classes, então o modificador de acesso usado para os métodos será public.
A classe deverá ficar mais ou menos assim:
Qualquer dúvida é só postar, até a próxima se Deus quiser...
Por exemplo:
public String getNome(){
return nome;
}
public void setNome(String n){
nome = n;
}
Protegeremos os atributos através do modificador de acesso Private utilizado na declaração do atributo antes do tipo da variável.
Por exemplo:
private String nome;
Quando utilizamos o modificador private somente a classe onde o atributo foi declarado será visível, por isso devemos criar métos que realizem o acesso aos atributos, como queremos que sejam acessados por outras classes, então o modificador de acesso usado para os métodos será public.
A classe deverá ficar mais ou menos assim:
public class Cliente
{
private String nome;
public void setNome(String n)
{
nome = n;
}
public String getNome(){
return nome;
}
}
Qualquer dúvida é só postar, até a próxima se Deus quiser...
Trabalhando com Datas em Java
At » 03:39 // 0 Comments »
Pra pegar a data Atual:
Pra formatar a Data:
Em breve mais...
Date dataAtual = new Date()
Pra formatar a Data:
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String data = sdf.format(dataAtual);
Em breve mais...
Javascript: Apenas números na digitação
At » 08:44 // 0 Comments »
Os únicos caracteres aceitos durante a digitação são números:
Segue a função javascript:
Segue a chamada no html:
Segue a função javascript:
<script language='JavaScript'>
function SomenteNumero(e){
var tecla=(window.event)?event.keyCode:e.which;
if((tecla > 47 && tecla < 58)) return true;
else{
if (tecla != 8) return false;
else return true;
}
}
</script>
Segue a chamada no html:
<html>
<head>
<title> Somente Números </title>
</head>
<body>
<input type='text' size='10' value='' onkeypress='return SomenteNumero(event)'>
</body>
</html>
Java Conversões
At » 05:56 // 0 Comments »
//Conversão int para string
String myString = Integer.toString(my int value)
//ou
String str = "" + i
//Conversão String para int
int i = Integer.parseInt(str);
//ou
int i = Integer.valueOf(str).intValue();
//Conversão Double para String
String str = Double.toString(i);
//Conversão String para Double
Boolean theValue = Boolean.parseBoolean(strBoolean);
//Conversão Long para String
String str = Long.toString(l);
//Conversão Float para String
String str = Float.toString(f);
//Conversão String para Double
double d = Double.valueOf(str).doubleValue();
//Conversão String para Long
long l = Long.valueOf(str).longValue();
//ou
long l = Long.parseLong(str);
//Conversão String para Float
float f = Float.valueOf(str).floatValue();
//Conversão Decimal para Binary
int i = 42;
String binstr = Integer.toBinaryString(i);
//Conversão Decimal para Hexadecimal
int i = 42;
String hexstr = Integer.toString(i, 16);
//ou
String hexstr = Integer.toHexString(i);
//ou
public class Hex {
public static void main(String args[]){
int i = 42;
System.out.print
(Integer.toHexString( 0x10000 | i).substring(1).toUpperCase());
}
}
//Conversão Hexadecimal(String) para Integer
int i = Integer.valueOf("B8DA3", 16).intValue();
//ou
int i = Integer.parseInt("B8DA3", 16);
//Conversão ASCII code para String
int i = 64;
String aChar = new Character((char)i).toString();
//Conversão Integer para ASCII code (byte)
char c = 'A';
int i = (int) c; // i will have the value 65 decimal
//Conversão Integer para Boolean
b = (i != 0);
//Conversão Boolean para Integer
i = (b)?1:0;
//Date para String
SimpleDateFormat out = new SimpleDateFormat("dd/MM/yyyy");
String result = out.format(new Date());
My videos. Featured videos.
My photos. Now you know me.
Esse não sou eu, mas posso acabar sendo...
Browse Flickr








