Carregando...

Categoria: Banco de Dados

Criando funções de agregação (aggregation functions) customizadas no PostgreSQL

As funções de agregação padrão do PostgreSQL não são suficientes para resolver seu problema? Você pode criar a sua própria! Referências Artigo da Cybertec https://www.cybertec-postgresql.com/en/writing-your-own-aggregation-functions/ Documentação Oficial do PostgreSQL https://www.postgresql.org/docs/current/xaggr.html Passando mais de um parâmetro em uma aggregation functionhttps://stackoverflow.com/a/46412594/2789895

Cursor no PostgreSQL

Ao fazer um SELECT no PostgreSQL, você recebe sempre uma lista estática de linhas com suas respectivas colunas. Mas e se você precisasse fazer algum tipo de processamento linha-a-linha de forma eficiente? Se você precisasse percorrer cada linha de um retorno de um SELECT e executar uma função e ir atualizando uma variável dentro de uma stored procedure? (Em outras palavras, como é que podemos fazer um loop de for dentro do PostgreSQL?) O CURSOR te permite fazer isso! Imagine Continuação…

Tuning PostgreSQL

Fazendo tuning de memória RAM no PostgreSQLhttps://severalnines.com/database-blog/architecture-and-tuning-memory-postgresql-databases Qual os melhores parâmetros para minha máquina? Gerador de parâmetros de tuning da CYBERTEC. http://pgconfigurator.cybertec.at/ WORK_MEM WORK_MEM é a quantidade máxima de memória RAM que o PostgreSQL dá as consultas para agilizar certas operações. Uma delas é o ORDER BY (caso você não tenha índices nas colunas desejadas). Ao aumentar o WORK_MEM, seus ORDER BYs podem ficar bem mais rápidos já que a ordenação dos dados será feita na memória RAM.

Configurando parâmetros de operação do PostgreSQL

Todo banco de dados usa certos parâmetros de operação para funcionar, alguns exemplos de parâmetro de operação são: Definindo o fuso horário padrão do PostgreSQL Definindo o tempo máximo de uma transação (timeout de uma transação) Você pode configurar os parâmetros no escopo da sessão (escopo da conexão) ou no escopo de uma transação. Referências Documentação oficial do comando SET https://www.postgresql.org/docs/current/sql-set.html Definindo um timeout para transações https://dba.stackexchange.com/questions/164419/is-it-possible-to-limit-timeout-on-postgres-server

Tunando o PostgreSQL para uma alta quantidade de escrita de dados

O que fazer? Hot Updates – Fazer updates em colunas que não são indexadas. Vaccuum! Ligue o auto-vacuum para liberar espaço de armazenamento e melhorar a performance se você faz muitos deletes e updates.Vacuum logging, veja se as tabelas estão sendo auto vacuum. E para insert only? Vacuum Freeze in memory!Aumentar o checkpoint_timeout Porque assim o vacuum vai acontecer entre os checkpoints Common DBA Tasks no AWS RDShttps://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/Appendix.PostgreSQL.CommonDBATasks.html

PostgreSQL: VACUUM e MVCC

Referências Artigo do Heroku https://devcenter.heroku.com/articles/postgresql-concurrency Artigo super interessante em um bloghttp://blog.lerner.co.il/in-postgresql-as-in-life-dont-wait-too-long-to-commit/ Artigo super interessante https://blog.sentry.io/2015/07/23/transaction-id-wraparound-in-postgres

Como fazer backup no MySQL?

É muito importante fazer backup do seu banco de dados MySQL diariamente. Você pode fazer manualmente pelo MySQL Workbench ou criar uma rotina automatizada que faça isso pra você com o mysqldump. Usando o mysqldump (linha de comando) Nesse método faremos backup por linha de comando usando o software mysqldump. Ele é instalado por padrão quando se instala o MySQL. Crie uma pasta em sua pasta home chamada mysql-backup e navegue até ela: Crie um arquivo chamado mysql-credentials.conf para armazenar Continuação…