AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-228044

Basil Titus's questions

Martin Hope
goodfella
Asked: 2025-02-17 12:47:28 +0800 CST

Reproduzir WAL em espera para um ponto no tempo sem criar uma nova linha do tempo

  • 6

Temos um cluster de replicação do PostgreSQL 13 onde um dos standbys está configurado com recovery_min_apply_delay="x hr", o que pode ser útil em caso de corrupção de dados.

Para um cenário em que uma exclusão acidental aconteceu no servidor mestre , mas ainda não foi aplicada ao servidor em espera . Neste caso, estou tentando extrair os dados do servidor em espera removendo o atraso de repetição do WAL e adicionando recovery_target_timeum ponto antes da exclusão acontecer.

Até este ponto, tive sucesso, mas depois que terminei de puxar os dados do servidor standby para o master (estou pensando em postgres_fdw), preciso retomar a replicação. Mas quando executo pg_wal_replay_resume(), ele está criando uma nova linha do tempo e não está mais no cluster de replicação.

Existe alguma maneira de reproduzir o WAL além de usar recovery_target_time?

Dando um exemplo do que estou tentando alcançar,

Digamos que recovery_min_apply_delay=2hr , uma exclusão acidental aconteceu às 03:50 AM, neste momento transações confirmadas em standby são transações que aconteceram em ou antes de 01:50 AM. Se eu esperar mais 2hr e às 05:49 AM se eu conseguir pausar a repetição do WAL em standby, poderei ver um instantâneo dos dados que estão "logo antes" de DELETE. Então usarei postgres_fdw para extrair dados do standby.

Como eu consigo "logo antes" de uma forma precisa e sistemática? Também seria capaz de retomar o replay do WAL.

postgresql
  • 1 respostas
  • 52 Views
Martin Hope
goodfella
Asked: 2025-02-13 16:28:31 +0800 CST

Usar a transação XID ou LSN é a maneira mais precisa e exata de executar o PITR?

  • 8

Estou praticando Point in Time Recovery (PITR) no PostgreSQL 13 contra exclusão acidental de dados. Como o PostgreSQL oferece vários parâmetros para executar PITR, estou um pouco confuso escolhendo entre Transaction XID e LSN.

Se uma DELETEdeclaração acidental removesse um grande número de linhas e eu obtivesse o correspondente XIDa partir LSNdo dump do WAL, executar o PITR produziria o mesmo resultado, independentemente de eu usar o XID ou o LSN?

Existe o risco de perder outras transações confirmadas se eu restaurar usando o XID?

postgresql
  • 1 respostas
  • 83 Views
Martin Hope
goodfella
Asked: 2024-12-11 14:30:08 +0800 CST

Existe alguma prática para alinhar o tamanho do bloco do sistema de arquivos com o tamanho do bloco do banco de dados?

  • 5

Este tópico já foi discutido aqui: Entendendo tamanhos de bloco Mas tenho mais algumas coisas a acrescentar para meu caso de uso.

Geralmente, a maioria database systemsusa um padrão block sizede 8 KB, embora alguns permitam que ele seja modificado. Por outro lado, os modernos operating systemsgeralmente usam um 4 KBtamanho de bloco para file systems. Essa discrepância pode resultar em várias physical I/Osolicitações para preencher um único database page.

Um tamanho de bloco de sistema de arquivo menor beneficia random reads, como index lookups, enquanto tamanhos de bloco maiores são vantajosos para sequential scanse heap fetches. Considerando esses pontos, tenho algumas perguntas:

  1. Existe uma prática comum para alinhar o tamanho do bloco do banco de dados com o tamanho do bloco do sistema de arquivos para OLTP?
  2. Em um clustered system(por exemplo, SQL Server Availability Groupsou PostgreSQL streaming replication) com um primário e um ou mais secundários, é aceitável ter tamanhos de bloco de sistema de arquivos diferentes ou isso é algo que deve ser sempre evitado?
  3. Para analytical databasesou columnar tables, é benéfico usar um tamanho de bloco maior?
sql-server
  • 1 respostas
  • 56 Views
Martin Hope
goodfella
Asked: 2024-10-29 12:14:19 +0800 CST

O PostgreSQL tem promoção ou escalonamento de bloqueio?

  • 5

Estamos tendo esse comportamento estranho ExclusiveLockem um de nossos bancos de dados executando o PostgreSQL 13. Não consigo descobrir o que leva a esse bloqueio, pois as informações de bloqueio são de uma ferramenta de monitoramento.

Pelo que vejo nos documentos ExclusiveLockadquiridos apenas por atualização materialised view, no entanto, não temos nenhuma visualização materializada em nosso banco de dados. Um pouco de pesquisa que acabei neste blog https://blog.heroku.com/curious-case-table-locking-update-query e o caso que esse cara compartilha é semelhante ao meu, pois posso ver alguns RowExclusiveLockdurante esse período e algumas consultas atualizando a mesma linha simultaneamente. No entanto, não consegui encontrar nenhum documento oficial sobre o comportamento do PostgreSQL na escalada de bloqueio, assim como outros bancos de dados fazem.

O Postgres escala o bloqueio em casos raros? Quais casos podem levar a escalações?

postgresql
  • 1 respostas
  • 33 Views
Martin Hope
mediocre
Asked: 2024-06-10 13:03:45 +0800 CST

Citus: Trabalhador paralelo não inicia

  • 5

Estamos realizando Citusbenchmarking e nos deparamos com uma situação onde o planejador faz o parallel execution planmas durante a execução não parallel workerssão lançados. O cluster possui 3 nós de trabalho, cada um com 2CPUs em execução no Centos. Qual pode ser a razão por trás disso?

->  Finalize Aggregate  (cost=76650.31..76650.32 rows=1 width=32) (actual time=174741.832..174741.999 rows=1 loops=1)
                 ->  Gather  (cost=76650.09..76650.30 rows=2 width=32) (actual time=174741.807..174741.974 rows=1 loops=1)
                       Workers Planned: 2
                       Workers Launched: 0
                       ->  Partial Aggregate  (cost=75650.09..75650.10 rows=1 width=32) (actual time=174740.490..174740.492 rows=1 loops=

A consulta que estamos usando para benchmarking é

select sum(amount) from tab_dist_1 where id>=49820 and id<=59743292;
postgresql
  • 1 respostas
  • 25 Views
Martin Hope
mediocre
Asked: 2024-05-21 17:31:10 +0800 CST

PostgreSQL: Quais são as diferentes operações que fazem uso de arquivos temporários?

  • 5

Temos monitoramento de série temporal tanto pg_stat_databaseem pg_stat_statements. Recentemente, temos observado o uso de arquivos temporários em nosso banco de dados durante determinado período. Mas, para o mesmo período, não conseguimos encontrar consultas que no total correspondam ao uso total do pg_stat_database. Vimos em algum lugar operações de manutenção como vacuuminge analysepodem causar o uso de arquivos temporários, mas durante o período também não conseguimos encontrar tais atividades. Existem outras operações internas que podem causar o uso de arquivos temporários?

postgresql
  • 1 respostas
  • 26 Views
Martin Hope
mediocre
Asked: 2024-05-17 12:53:30 +0800 CST

Pgbouncer: O pgbouncer pode levar reserve_pool_timeout em milissegundos?

  • 5

É possível especificar pgbouncer reserve_pool_timeoutem milissegundos, tentei especificá-lo com '500 ms', mas gerando um erro e tentei especificar 0,5, desta vez sem erro, mas não consegui descobrir que está realmente funcionando ou apenas desativei o tempo limite, mas reserve_pool está sendo utilizado .

postgresql
  • 1 respostas
  • 18 Views
Martin Hope
Basil Titus
Asked: 2024-02-15 17:09:08 +0800 CST

MongoDB: O que causa bytesRead na operação de inserção?

  • 5

Recentemente tivemos alto uso de CPU/memória e E/S em nosso MongoDB. Ao verificar os logs, tudo que encontrei foram alguns insertdurante esse período. Ao inspecionar os logs, notei que a maioria dos logs de inserção está bytesReadna seção de armazenamento. Portanto, suspeito que isso cause E/S e o armazenamento em cache dos dados cause muita memória.

Após o pico de inserção, a E/S e a CPU caíram, mas a memória permaneceu a mesma, o que foi resolvido após a reinicialização.

A leitura deste disco é normal com a operação de inserção? Estamos usando o Mongo v4.0 com WiredTigermecanismo de armazenamento na VM CentOS7.

2024-02-14T23:39:44.533+0800 I COMMAND  [conn939845] insert db.user_log ninserted:1 keysInserted:11 numYields:0 locks:{ Global: { acquireCount: { r: 1, w: 1 } }, Database: { acquireCount: { w: 1 } }, Collection: { acquireCount: { w: 1 } } } storage:{ data: { bytesRead: 34390, timeReadingMicros: 140837 } } 141ms
2024-02-14T23:40:16.785+0800 I COMMAND  [conn939845] insert db.user_log ninserted:1 keysInserted:11 numYields:0 locks:{ Global: { acquireCount: { r: 1, w: 1 } }, Database: { acquireCount: { w: 1 } }, Collection: { acquireCount: { w: 1 } } } storage:{ data: { bytesRead: 24150, timeReadingMicros: 506594 } } 507ms
mongodb
  • 1 respostas
  • 17 Views
Martin Hope
Basil Titus
Asked: 2023-11-28 11:14:37 +0800 CST

PostgreSQL: autenticação Pgbouncer

  • 5

Estamos usando o modo de arquivo de autenticação no pgbouncer. A parte de autenticação do Pgbouncer é muito confusa. Seria útil se alguém pudesse esclarecer minhas dúvidas abaixo.

  • As conexões Pgbouncer são autenticadas duas vezes no lado do segurança e na camada de banco de dados?

  • Qual é a utilidade da autenticação no Pgbouncer se ele estiver usando as mesmas credenciais do banco de dados ?

  • É possível usar um conjunto diferente de credenciais de usuário para a autenticação Pgbouncer diferente das próprias credenciais do banco de dados?

postgresql
  • 2 respostas
  • 35 Views
Martin Hope
Basil Titus
Asked: 2023-11-27 10:36:15 +0800 CST

PostgreSQL: max_worker_processes está vinculado à CPU?

  • 5
Esta questão foi migrada do Stack Overflow porque pode ser respondida no Stack Exchange dos Administradores de Banco de Dados. Migraram ontem .

Tenho visto muitos blogs de ajuste de desempenho do PostgreSQL e empresas como a EDB sugerindo colocar a configuração max_worker_processes do PostgreSQL para o número de CPUs na máquina.

Estamos usando uma VM PostgreSQL 13 dedicada na nuvem com 16 vCPUs . Mas a configuração padrão do Postgres max_worker_processes=8 . Baseia-se no valor padrão O que eu estava pensando O Postgres irá apenas até 8 vCPUs no máximo e o uso máximo esperado da CPU está em torno de 50% até alguns dias atrás, tivemos algum pico de conexão que na verdade estava ligado à sobrecarga de E/S, mas a CPU atingiu 95 -99% durante o pico.

Então, como max_worker_processes está relacionado à CPU? Isso terá algum impacto se eu deixar o valor padrão de 8? Ou existem outras maneiras de encontrar um valor ideal?

postgresql
  • 1 respostas
  • 40 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve