Jump to content

Recommended Posts

Olá pessoal bom dia! 

 

Preciso de uma ajuda com um detalhe no banco de dados no caso é postgres v.9.4 , explicando a situação estou fazendo uma manutenção de dados de certos logs que gero e tenho exemplo uma tabela que é envios.envio_contato_log_status ela tinha mais 220GB só nela eu limpei ficou de boa (agora esta zerado e nem lista abaixo), só que ao rodar o código que mede o tamanho das tabelas vejo que tenho uma de 45GB informados como consigo apagar esse cara envios.envio_contato_log_status_pkey (chave primaria da tabela acima referida envios.envio_contato_log_status) não entendi o banco ele armazena dados nas chaves primarias, indexadores, etc...  Minha duvida se tem algo que permite eu excluir esses dados, no caso sabemos que essa tabela não é mais usada.

Mais queria manter a estrutura do campos mesmo que vazia por enquanto e eliminar apenas esses 45GB que não tenho ideia de como remover esse kara.

 

image.png.22b5d8b00a18b62dd76fd7f28c3f5bd0.png

Share this post


Link to post
Share on other sites

Pessoal desculpa ter aberto o chamado mais acho que ja descobri acabei de rodar um TRUNCATE TABLE e resolveu agora não tenho os 45GB, ate sumiu quando rodo para ver o tamanho de todo o meu banco, pelo o que entendi que o TRUNCATE elimina dados de transações que eram os 45GB e mantem toda a estrutura da tabela intacta(indexadores, FK, PK).  

Então resumindo para apagar todos os dados de uma tabela de forma limpa e rapida sem deixar vestígios use Truncate; 

Para poder selecionar dados com where use Delete, isto é, caso não queira apagar tudo, pois o truncate não aceita parametros adicionais (WHERE, LIMIT, etc)

 

image.png.b94063c702db3d88eb668ebed3688a29.png

 

Deixo os links que me ajudaram abaixo: 

 https://gustavomaiaaguiar.wordpress.com/2010/07/21/truncate-versus-delete-uma-explicacao-mais-detalhada/

http://www.oraclehome.com.br/2013/08/14/diferencas-entre-truncate-table-drop-table-ou-delete-from/

image.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By MateusOFCZ
      Olá, estou desenvolvendo um projeto de registro de clientes em java no netbeans e usando o MySQL Workbench e Xampp, gostaria de saber se é possível fazer com que o programa fique verificando se está conectado com o banco de dados, e caso não esteja ele mostra uma mensagem pedindo para o usuário se conectar em uma rede, caso ele se conecte o programa irá esconder essa mensagem e funcionará normalmente.

      Eu consegui fazer com que ele mostre se está conectado ou não, porém se eu desligar o servidor ele não atualiza mostrando que está offline, ele continua como online...
    • By wesleycsilva
      Tem uma tabela que relaciona os produtos de uma determinada compra, onde preciso consultar diversos produtos e retornar os ids das compras que tenham todos os produtos que consultei, em uma estrutura parecida com o exemplo abaixo:
       
      SELECT  * FROM  produtos_has_compras WHERE (idProduto = 6 AND idProduto = 77 AND idProduto = 11) GROUP BY idCompra;
       
      Alguém teria uma solução que possa me ajudar?
    • By bradry
      Olá galera !
       
      Tenho uma dúvida referente aos operadores de pesquisa. Tenho uma  tabela com a seguinte estrutura
       
      id integer, CPF varchar ( 20 ), SCORE_CUSTOM varchar ( 20 ),  SCORE varchar ( 20 ), SCORE_CCOG varchar ( 20 ), RESTRITIVO varchar ( 20 ) );
       
      Quando faço uma pesquisa da maneira a baixo colocando aspas simples no ZERO retorna erro, agora quando faço a mesma pesquisa sem aspas me retorna o resultado esperado.
       
      select * from score
      where RESTRITIVO ='0' 
      and SCORE_CUSTOM >=100
      and SCORE_CUSTOM <=200;
       
      Só queria entender se esse funcionamento de aspas vale para tudo que vou pesquisa ou se tem que ser usado em casos específicos. Não consegui encontrar nada sobre na web.
    • By Sapinn
      Salve quebrada, firmesa? É o seguinte estou desenvolvendo um web site em que os aluno enviam textos para o professor corrigir. O que eu quero é que quando o professor corrigir o texto e aluno for ver mostrar o que foi corrigido. 
      Por exemplo se o aluno digitar a seguinte frase:
      Eu gosta mas de você.
      Quando ele for ver a correção terá:
      Eu gosto mas(o correto seria "mais") de você.
       
      Alguém pode me ajudar aqui?
       
    • By jeanzinsousa
      Salve, Galera estou com uma dúvida estudando banco de dados e programação.
       
      escrevi a seguinte query:
       
      SELECT data_pg as diaria, SUM(valor_pg) as valor_diario, SUM(valor_despesa) as valor_despesa, (SELECT SUM(valor_pg) as dinheiro FROM pagamento WHERE tipo = 5 AND MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019) as total_dinheiro, (SELECTSUM(valor_pg) as debito FROM pagamento WHERE tipo = 25 AND MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019) as total_debito, (SELECT SUM(valor_pg) as credito FROM pagamento WHERE tipo = 15 AND MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019) astotal_credito FROM pagamento WHERE MONTH(data_pg) = 06 AND YEAR(data_pg) = 2019 GROUP BY diaria ORDER BY `diaria`
       
      resultado:
      diaria  1 valor_diario valor_despesa total_dinheiro total_debito total_credito   2019-06-10 818.70 0 288.40 586.95 113.30 2019-06-11 169.95 0 288.40 586.95 113.30
       
       
       
       
      Como podem ver meu objetivo e separar por dia o resultado dos valores divididos por tipo de pagamento.
      porém o mesmo mostra a soma total nas subquery.
      quando coloco o group by order by dentro das subquerys apresenta a seguinte mensagem de erro: #1242 - Subquery returns more than 1 row 
       
       
      como resolver?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.