Re: [pgbr-geral] Problemas ao salvar caracter \ no banco com Zeos +Delphi 2007
Tive um problema parecido quando migrei do postgres8 para o postgres9 usando o zeos 6.x. Só funcionou usando o zeos 7.x com o postgres9.x. From: Rafael Naves Sent: Friday, August 30, 2013 2:44 PM To: Comunidade PostgreSQL Brasileira Subject: [pgbr-geral] Problemas ao salvar caracter \ no banco com Zeos +Delphi 2007 Boa tarde a todos, Fiz um exemplo simples, onde conecto a um banco e gravo informações em um campo varchar(100). Quando tento inserir o carácter \ o mesmo é substituído antes de ir ao banco por \134. Abaixo segue script do banco onde estou testando: CREATE DATABASE campo_rtf WITH OWNER = usuariox ENCODING = 'UTF8' TABLESPACE = pg_default; CREATE TABLE public.tabela( texto_normal VARCHAR(100) NOT NULL, texto_bite BYTEA, texto_text TEXT, CONSTRAINT laccon_pkey PRIMARY KEY(texto_normal) ) WITH (oids = false) TABLESPACE pg_default; Entendo que o problema não é com o banco, mas, alguém já passou por essa situação? Obrigado -- Rafael M. Naves Analista/Programador (31)9861-4047 (novo!) (31)8636-8910 http://www.twitter.com/navesrafael http://www.rafaelnaves.com ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Backup físico a quente
2013/8/30 Danilo Silva danilo.dsg.go...@gmail.com [...] Realmente, quando você faz **só** um backup base, sem arquivamento, você irá precisar de todos os logs de transação gerados entre a chamada do pg_start_backup e pg_stop_backup. Em primeiro lugar, eu recomendaria você a tentar criar uma política de backup para PITR e habilitar **sempre** o arquivamento. Mas... De forma temporária, você pode fazer o seguinte: 1. Engane o PostgreSQL e habilite o arquivamento sem arquivar (loucura né?!): archive_mode = on archive_command = 'exit 0' # veja, não faz nada, só finge que copiou Reinicie o PostgreSQL (terás de reiniciar somente uma vez, por causa do archive_mode). 2. Quando for executar o backup base, configure o archive_command para efetivamente copiar os logs de transação: archive_command = 'cp %p /path/to/%f' # ou seu comando... Execute um reload no PostgreSQL (veja, não precisa de restart). 3. Realize sua cópia normalmente: pg_start_backup = cópia (tar, cp, etc.) = pg_stop_backup 4. Volte o archive_command para 'exit 0' Pronto, agora basta você pegar os arquivos salvos pelo archive_command temporário e salvá-los junto ao seu backup. Pode até colocá-los dentro do diretório pg_xlog do backup, ou, numa restauração você precisará somente configurar o restore_command no recovery.conf. Mais uma vez, vejo isso como algo temporário e rápido enquanto não define uma boa política de backup com arquivamento, pg_dump, etc... Era isso que eu precisava saber, vou testar e depois falo como foi. Pessoal deu certo a dica do Matheus, agora surgiu outra dúvida: Preciso montar um script que execute o backup base, até então beleza, sem problemas, existe a possibilidade de colocar no script algum comando que altere a diretiva archive_command ou algo similar? Eu faria de forma diferente, criaria um script para fazer o arquivamento que verifique se um arquivo de trigger existe (acho que pode usar o próprio backup_label), e, se existir, realiza a cópia, caso contrário não faz nada, tipo assim: #!/bin/sh if [ -r backup_label ]; then cp $1 $2 exit $? fi exit 0 Daí você usa esse script no archive_command, tipo: archive_command = /path/to/archive.sh '%f' '/path/to/%p'. OBS: IIRC, o diretório corrente ao executar o archive_command é o próprio PGDATA, por isso usei o caminho relativo para encontrar o backup_label (testar para confirmar). Dessa forma somente quando o backup estiver em progresso é que o script realmente copiará os logs de transação, caso contrário, o mesmo irá ignorar e fingir que copiou. PS: Mais uma vez, recomendo que, já que está tendo esse trabalho, faça o arquivamento contínuo, experimente comprimir com gzip caso ache que está ocupando muito espaço, verá que diminui +ou- para uns 20-30%. Atenciosamente, -- Matheus de Oliveira Analista de Banco de Dados Dextra Sistemas - MPS.Br nível F! www.dextra.com.br/postgres ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Problemas ao salvar caracter \ no banco com Zeos + Delphi 2007
On 30-08-2013 14:44, Rafael Naves wrote: Quando tento inserir o carácter \ o mesmo é substituído antes de ir ao banco por \134. Deixe-me adivinhar... ⩽ 9.0? Eu não utilizo Zeos, mas pode estar relacionado a nossa forma de escape padrão. Experimente definir 'standard_conforming_strings = off' no postgresql.conf. Se não resolver, grave todos os comandos (log_statement = all) e nos apresente o comando INSERT (para dizermos se o problema é no Delphi/Zeos ou no Postgres). -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Problemas ao salvar caracter \ no banco com Zeos + Delphi 2007
Lembrando que \134 é octal para 92, que é o ASCII da contrabarra. Em 31 de agosto de 2013 10:14, Euler Taveira eu...@timbira.com.brescreveu: On 30-08-2013 14:44, Rafael Naves wrote: Quando tento inserir o carácter \ o mesmo é substituído antes de ir ao banco por \134. Deixe-me adivinhar... ⩽ 9.0? Eu não utilizo Zeos, mas pode estar relacionado a nossa forma de escape padrão. Experimente definir 'standard_conforming_strings = off' no postgresql.conf. Se não resolver, grave todos os comandos (log_statement = all) e nos apresente o comando INSERT (para dizermos se o problema é no Delphi/Zeos ou no Postgres). -- Euler Taveira Timbira - http://www.timbira.com.br/ PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral -- Atenciosamente, Alexsander da Rosa ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Re: [pgbr-geral] Vaga Analista de Suporte DBA - Fortaleza-CE
Concordo com o DUTRA. As empresas precisam aprender que o maior patrimônio delas são os funcionários. A empresa tem que pagar bem (lógico que este não é o único fator) para tentar manter os melhores profissionais com ela e como conseqüência poder exigir bastante destes. Pagar mal, não valorizar o funcionário, tirar vantagem do mais fraco == evasão de cérebros... Se a empresa me paga mal e não me valoriza, ela já mostra como é sua política. Geralmente o funcionário não tem poder de mudar isso. Logo, penso: vou ficar mendigando aumento para que? Melhor procurar uma empresa melhor. Best regards, -- Miguel Eugênio Ramalho Bezerra, M.Sc. Federal University of Pernambuco, Brazil home: http://www.cin.ufpe.br/~merb/ twitter: @migueleugenio Em 26 de agosto de 2013 12:27, Roberto Mello roberto.me...@gmail.comescreveu: On Saturday, August 24, 2013, Guimarães Faria Corcete DUTRA, Leandro wrote: 2013/8/24 Roberto Mello roberto.me...@gmail.com: Houve vezes em que eu estava muito interessado em contratar o candidato, deposita entrevista, perguntava se ele tinha pretensão salarial, e - eu ja sabendo o meu teto - aguardava a resposta. Geralmente o candidato jogava uma pretensão baixa, com medo de me assustar. E [eu] fazia um joguinho, dizia que iria pensar, e no outro dia ligava para o candidato[…] Desculpa, Roberto, mas acho essa atitude não apenas injusta, mas uma visão de curto prazo, contraproducente. Se voce julgar o momento da contratação como o fim da carreira do funcionário da empresa, sim, seria. Mas essa seria uma visao míope e incorreta. Obviamente era o oposto, o início. A partir daí seguiam-se bônus e Promocoes para os funcionários mais produtivos e dedicados, e para os que procuravam negociar aumentos de acordo com sua produtividade, como eu mesmo fiz em diversos momentos. Alguém que ganha menos do que deveria mais cedo ou mais tarde vai se Quem determina o que ele deveria ganhar em países nos quais o governo nao se mete forçando uma convenção coletiva de sindicatos de intenções duvidosas? Existe um valor de mercado, e é trabalho dos entes em negociação (trabalhador e empregador) informar-se dos valores de mercado, das suas necessidades e negociar os termos que desejarem. comparar com os colegas, e perceberá que foi injustiçado. Procurará algo melhor, possivelmente noutro emprego, porque terá perdido confiança em seu atual empregador. A rotatividade será ruim para a Injusticado? Por quem? Se ele conversar com os colegas e souber que ganha menos, poderá voltar para a mesa de negociação e aí negociar tendo agora a sua produção real (e não estimada) como ponto chave a seu favor. A empresa saberá também quanto o empregado vale para seus objetivos. empresa, a imagem dela sofrerá (mesmo que numa escala bem pequena, pelo menos entre amigos, família e colega do ludibriado), e a produtividade cairá não apenas pela rotatividade, mas até pela desmotivação enquanto o sujeito não sair. Se ele não soube negociar o salário para entrar, boa probabilidade de não saber negociar depois também e preferir sair em vez de enfrentar o temor de uma negociação com uma chefia que já o passou para trás uma vez. Mesmo que ele não perceba que foi enganado, ficará pelo menos com autoestima baixa, o que é ruim para a produtividade e o desenvolvimento do trabalho, e possivelmente achará a empresa mal gerida. Mais desmotivação, portanto. Opa, enganado não, alto lá! Não atribua a mim o que não fiz. Eu perguntava a pretensão DA PESSOA. Era meu trabalho na empresa contratar a melhor pessoa dentro do que eu podia pagar. É o trabalho de todo pretendente negociar o salário. Eu nunca enganei ninguém na negociação, mas não era meu trabalho servir de consultor de carreira para pretendentes a emprego. Há ampla literatura disponível para quem quiser aprender e se ficasse comprovado que eu lesei a empresa oferecendo informações privilegiadas a um pretendente, então a empresa teria uma causa legal contra minha pessoa. Finalmente, alguém que ganha abaixo do que deveria tenderá a acreditar menos do que deveria em seu próprio desenvolvimento pessoal, e também terá menos recursos para investir em si mesmo. Dramático não? Parece que a pessoa morreu e nunca mais poderá decidir que aquele emprego não lhe serve (caso o empregador não queira renegociar) e procurar um melhor ou que pague mais, agora com experiência na bagagem. A auto-estima profissional de um profissional nao depende exclusivamente do seu contra-cheque atual. O bom profissional sabe disso. O famoso ditado ‘o combinado não sai caro’ só se aplica quando todas as partes têm as informações necessárias e em comum. Desigualdade de informações gera contratos, digamos, leoninos. Desculpe Dutra, mas voce saiu por uma tangente de red herring enorme com essa ultima. Roberto ___ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br