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-240707

JulioQc's questions

Martin Hope
JulioQc
Asked: 2023-12-06 04:12:29 +0800 CST

Novo SQL Server 2022 mais lento que o antigo servidor de 2014

  • 6

Estou planejando e testando uma nova instalação do SQL Server 2022 para migrar de um banco de dados antigo de 2014. Notei durante os testes de desempenho algumas discrepâncias importantes com algumas consultas volumosas.

Aqui está uma consulta que uso para teste:

INSERT INTO @volume
SELECT     max(SUBSTRING(dbo.CLEACUM.TRADE_DATE, 1, 4)) AS TRADEYEAR,                              
                       sum(CASE [CANCEL] WHEN '1' THEN - cast(abs([TOT_QTY]) as bigint)
                      ELSE cast(abs([TOT_QTY]) as bigint) END) AS TOT_QTY,0
                      
FROM         dbo.CLEACUM LEFT OUTER JOIN
                      dbo.IBM_SECMASTER ON dbo.CLEACUM.TDE_SYMBOL = dbo.IBM_SECMASTER.DCS_CUSIP LEFT OUTER JOIN
                      dbo.VOL_IBM_CODES_IDA ON dbo.IBM_SECMASTER.SEC_CLASS >= dbo.VOL_IBM_CODES_IDA.NUMMIN AND 
                      dbo.IBM_SECMASTER.SEC_CLASS <= dbo.VOL_IBM_CODES_IDA.NUMMAX AND dbo.IBM_SECMASTER.SEC_TYPE >= dbo.VOL_IBM_CODES_IDA.TYPEMIN AND 
                      dbo.IBM_SECMASTER.SEC_TYPE <= dbo.VOL_IBM_CODES_IDA.TYPEMAX AND dbo.VOL_IBM_CODES_IDA.DATEMAX >= ABS(CONVERT(float, DATEDIFF(day, 
                      dbo.CLEACUM.MATURITY_DATE, dbo.CLEACUM.TRADE_DATE) / 365.25)) AND dbo.VOL_IBM_CODES_IDA.DATEMIN <= ABS(CONVERT(float, DATEDIFF(day, 
                      dbo.CLEACUM.MATURITY_DATE, dbo.CLEACUM.TRADE_DATE) / 365.25)) LEFT OUTER JOIN
                      dbo.VOL_CUSIPEquivalence ON SUBSTRING(dbo.CLEACUM.TDE_SYMBOL, 1, 6) = dbo.VOL_CUSIPEquivalence.CUSIP LEFT OUTER JOIN
                      dbo.VOL_MaturityLabels ON dbo.VOL_MaturityLabels.DATEMAX >= ABS(CONVERT(float, DATEDIFF(day, dbo.CLEACUM.MATURITY_DATE, dbo.CLEACUM.TRADE_DATE)
                       / 365.25)) AND dbo.VOL_MaturityLabels.DATEMIN <= ABS(CONVERT(float, DATEDIFF(day, dbo.CLEACUM.MATURITY_DATE, dbo.CLEACUM.TRADE_DATE) / 365.25))
                                     LEFT OUTER JOIN VOL_BusinessDaysPerYear on left(CLEACUM.TRADE_DATE,4)=[VOL_BusinessDaysPerYear].YEAR 
WHERE     (dbo.CLEACUM.ACCT_NO LIKE '10%') AND (dbo.CLEACUM.SEC_TYPE < 300) AND (dbo.CLEACUM.ACCT_NO NOT IN
                          (SELECT     ACCOUNT_NO
                            FROM          dbo.VOL_ExcludedAccounts)) AND (SUBSTRING(dbo.CLEACUM.TRADE_DATE, 1, 4) > datepart(yyyy,getdate())-5)
                                                and (cast(TRADE_DATE as date)<= VOLUME_SAME_PERIOD_DAY)
                                                group by SUBSTRING(dbo.CLEACUM.TRADE_DATE, 1, 4) 

A mesa CLEACUM é bastante grande. Cerca de 17 milhões de linhas em 3,2 GB de espaço em disco. Nada insano, mas ainda assim grande para tal consulta examinar toda a tabela.

Quando executo em 2014, começo do zero ou vivo por dias, a consulta é concluída em no máximo 30 segundos. Quando executo em 2022, leva mais de 50 minutos para ser concluído. A próxima execução será concluída em 30 segundos. O DBCC DROPCLEANBUFFERScomando também fará com que ele fique lento novamente, sem reiniciar ou esperar muito.

Na solução de problemas, posso ver o IO carregando a tabela do disco (lendo ~ 1 MB do arquivo mdf), o que presumo ser o atraso e a execução subsequente usará dados do cache. Eu estou bem com isso, mas...

Como 2014 não está fazendo a mesma coisa? Se eu executar a mesma consulta em 2014 após a reinicialização da máquina, ela ainda será executada em 30 segundos ou menos! Mas em 2022 ele precisará carregá-lo do disco antes de poder usar o cache. Ambos me fornecem as mesmas estatísticas quando medidos:

Table '#B59594BD'. Scan count 0, logical reads 5, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'VOL_MaturityLabels'. Scan count 1, logical reads 192958, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, read-ahead reads 1746, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'Workfile'. Scan count 14, logical reads 2872, physical reads 338, read-ahead reads 2534, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'VOL_CUSIPEquivalence'. Scan count 1, logical reads 8, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'VOL_IBM_CODES_IDA'. Scan count 1, logical reads 1736622, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'IBM_SECMASTER'. Scan count 1, logical reads 65, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'VOL_ExcludedAccounts'. Scan count 1, logical reads 195636, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'CLEACUM'. Scan count 1, logical reads 1040096, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.
Table 'VOL_BusinessDaysPerYear'. Scan count 1, logical reads 1, physical reads 1, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0.

 SQL Server Execution Times:
   CPU time = 24008 ms,  elapsed time = 28572 ms.

Table '#AAEDD858'. Scan count 0, logical reads 5, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'VOL_MaturityLabels'. Scan count 1, logical reads 192958, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, page server reads 0, read-ahead reads 1746, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'Workfile'. Scan count 14, logical reads 2872, physical reads 338, page server reads 0, read-ahead reads 2534, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'VOL_CUSIPEquivalence'. Scan count 1, logical reads 8, physical reads 5, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'VOL_IBM_CODES_IDA'. Scan count 1, logical reads 1736622, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'IBM_SECMASTER'. Scan count 1, logical reads 65, physical reads 0, page server reads 0, read-ahead reads 88, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'VOL_ExcludedAccounts'. Scan count 1, logical reads 195636, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'CLEACUM'. Scan count 1, logical reads 1040096, physical reads 17904, page server reads 0, read-ahead reads 305712, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'VOL_BusinessDaysPerYear'. Scan count 1, logical reads 1, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.

 SQL Server Execution Times:
   CPU time = 40063 ms,  elapsed time = 3041555 ms.

Para fins de contexto, ambos são executados essencialmente no mesmo hipervisor/armazenamento com ambas as VMs configuradas com recursos idênticos. O servidor original não tinha nenhum tipo de índice e o OLTP não existia em 2014 (nem está habilitado em 2022). O recurso HA está configurado em 2022, mas o banco de dados em questão ainda não foi replicado. Tornei ambos tão idênticos quanto possível para limitar as variáveis.

A única diferença que notei é que 2014 alocará todo o máximo de memória (16 GB) para SQL imediatamente no lançamento, enquanto 2022 parece ser mais dinâmico dependendo das consultas.

Sei que a consulta não é a ideal, mas meu trabalho é apenas migrar tudo para um servidor mais recente.

O que estou perdendo, não entendendo? Como posso alcançar o mesmo nível de desempenho em 2022 que o atual 2014?

Plano de execução 2014 e 2022


As estatísticas de espera da sessão são todas PAGEIOLATCH_SH(minha interpretação está aguardando o IO para que os dados continuem, o que corresponde às estatísticas do IO).

Eu configurei a reserva de memória na VM e reiniciei. Ainda nenhuma mudança, nem mesmo um segundo de diferença.

sql-server
  • 1 respostas
  • 120 Views
Martin Hope
JulioQc
Asked: 2021-11-02 08:20:17 +0800 CST

Processo PostgreSQL preso em um loop "novo backend bifurcado" quando usado com Patroni

  • 1

Eu tenho um cluster Patroni2.1.1 + PGSQL13.4 de 3 nós e um dos nós está agindo de forma estranha, uma vez que terminou o bootstrap basebackup. Eu tenho outro nó idêntico funcionando bem quando submetido ao mesmo processo.

Basicamente, uma vez que Patroni tenta se conectar ao localhost: 5432, o servidor parece morrer e refork (pelo meu entendimento). Você verá abaixo o "loop" começando em connection received: host=::1 port=XXXXX.

2021-11-01 12:01:43.395 EDT [242925] LOG:  starting PostgreSQL 13.4 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1), 64-bit
2021-11-01 12:01:43.396 EDT [242925] LOG:  listening on IPv6 address "::1", port 5432
2021-11-01 12:01:43.396 EDT [242925] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2021-11-01 12:01:43.397 EDT [242925] LOG:  listening on IPv4 address "192.168.23.13", port 5432
2021-11-01 12:01:43.398 EDT [242925] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
2021-11-01 12:01:43.401 EDT [242925] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2021-11-01 12:01:43.405 EDT [242928] LOG:  database system was interrupted; last known up at 2021-11-01 12:01:25 EDT
2021-11-01 12:01:43.405 EDT [242928] DEBUG:  removing all temporary WAL segments
2021-11-01 12:01:43.436 EDT [242928] DEBUG:  executing restore command "cp /var/lib/pgsql/13/archive/00000077.history pg_wal/RECOVERYHISTORY"
cp: cannot stat '/var/lib/pgsql/13/archive/00000077.history': No such file or directory
2021-11-01 12:01:43.440 EDT [242928] DEBUG:  could not restore file "00000077.history" from archive: child process exited with exit code 1
2021-11-01 12:01:43.441 EDT [242928] LOG:  entering standby mode
2021-11-01 12:01:43.441 EDT [242928] DEBUG:  backup time 2021-11-01 12:01:25 EDT in file "backup_label"
2021-11-01 12:01:43.441 EDT [242928] DEBUG:  backup label pg_basebackup base backup in file "backup_label"
2021-11-01 12:01:43.441 EDT [242928] DEBUG:  backup timeline 118 in file "backup_label"
2021-11-01 12:01:43.441 EDT [242928] DEBUG:  executing restore command "cp /var/lib/pgsql/13/archive/00000076.history pg_wal/RECOVERYHISTORY"
2021-11-01 12:01:43.538 EDT [242928] LOG:  restored log file "00000076.history" from archive
2021-11-01 12:01:43.540 EDT [242928] DEBUG:  executing restore command "cp /var/lib/pgsql/13/archive/000000760000000100000000 pg_wal/RECOVERYXLOG"
2021-11-01 12:01:43.689 EDT [242928] LOG:  restored log file "000000760000000100000000" from archive
2021-11-01 12:01:43.692 EDT [242928] DEBUG:  got WAL segment from archive
2021-11-01 12:01:43.693 EDT [242928] DEBUG:  checkpoint record is at 1/60
2021-11-01 12:01:43.693 EDT [242928] DEBUG:  redo record is at 1/28; shutdown false
2021-11-01 12:01:43.693 EDT [242928] DEBUG:  next transaction ID: 531; next OID: 24606
2021-11-01 12:01:43.693 EDT [242928] DEBUG:  next MultiXactId: 1; next MultiXactOffset: 0
2021-11-01 12:01:43.693 EDT [242928] DEBUG:  oldest unfrozen transaction ID: 478, in database 1
2021-11-01 12:01:43.693 EDT [242928] DEBUG:  oldest MultiXactId: 1, in database 1
2021-11-01 12:01:43.693 EDT [242928] DEBUG:  commit timestamp Xid oldest/newest: 0/0
2021-11-01 12:01:43.693 EDT [242928] DEBUG:  transaction ID wrap limit is 2147484125, limited by database with OID 1
2021-11-01 12:01:43.693 EDT [242928] DEBUG:  MultiXactId wrap limit is 2147483648, limited by database with OID 1
2021-11-01 12:01:43.693 EDT [242928] DEBUG:  starting up replication slots
2021-11-01 12:01:43.693 EDT [242928] DEBUG:  starting up replication origin progress state
2021-11-01 12:01:43.697 EDT [242928] DEBUG:  resetting unlogged relations: cleanup 1 init 0
2021-11-01 12:01:43.698 EDT [242928] DEBUG:  initializing for hot standby
2021-11-01 12:01:43.698 EDT [242928] DEBUG:  my backend ID is 1
2021-11-01 12:01:43.698 EDT [242928] LOG:  redo starts at 1/28
2021-11-01 12:01:43.698 EDT [242928] DEBUG:  prune KnownAssignedXids to 531
2021-11-01 12:01:43.698 EDT [242928] CONTEXT:  WAL redo at 1/28 for Standby/RUNNING_XACTS: nextXid 531 latestCompletedXid 530 oldestRunningXid 531
2021-11-01 12:01:43.698 EDT [242928] DEBUG:  0 KnownAssignedXids (num=0 tail=0 head=0) 
2021-11-01 12:01:43.698 EDT [242928] CONTEXT:  WAL redo at 1/28 for Standby/RUNNING_XACTS: nextXid 531 latestCompletedXid 530 oldestRunningXid 531
2021-11-01 12:01:43.698 EDT [242928] DEBUG:  recovery snapshots are now enabled
2021-11-01 12:01:43.698 EDT [242928] CONTEXT:  WAL redo at 1/28 for Standby/RUNNING_XACTS: nextXid 531 latestCompletedXid 530 oldestRunningXid 531
2021-11-01 12:01:43.698 EDT [242928] DEBUG:  prune KnownAssignedXids to 531
2021-11-01 12:01:43.698 EDT [242928] CONTEXT:  WAL redo at 1/D8 for Standby/RUNNING_XACTS: nextXid 531 latestCompletedXid 530 oldestRunningXid 531
2021-11-01 12:01:43.698 EDT [242928] DEBUG:  end of backup reached
2021-11-01 12:01:43.698 EDT [242928] CONTEXT:  WAL redo at 1/110 for XLOG/BACKUP_END: 1/28
2021-11-01 12:01:43.699 EDT [242932] DEBUG:  checkpointer updated shared memory configuration values
2021-11-01 12:01:43.700 EDT [242928] LOG:  consistent recovery state reached at 1/138
2021-11-01 12:01:43.700 EDT [242928] DEBUG:  executing restore command "cp /var/lib/pgsql/13/archive/000000760000000100000001 pg_wal/RECOVERYXLOG"
2021-11-01 12:01:43.700 EDT [242925] LOG:  database system is ready to accept read only connections
cp: cannot stat '/var/lib/pgsql/13/archive/000000760000000100000001': No such file or directory
2021-11-01 12:01:43.704 EDT [242928] DEBUG:  could not restore file "000000760000000100000001" from archive: child process exited with exit code 1
2021-11-01 12:01:43.704 EDT [242928] DEBUG:  could not open file "pg_wal/000000760000000100000001": No such file or directory
2021-11-01 12:01:43.704 EDT [242928] DEBUG:  switched WAL source from archive to stream after failure
2021-11-01 12:01:43.705 EDT [242936] DEBUG:  find_in_dynamic_libpath: trying "/usr/pgsql-13/lib/libpqwalreceiver"
2021-11-01 12:01:43.706 EDT [242936] DEBUG:  find_in_dynamic_libpath: trying "/usr/pgsql-13/lib/libpqwalreceiver.so"
2021-11-01 12:01:44.370 EDT [242925] DEBUG:  forked new backend, pid=242938 socket=12
2021-11-01 12:01:44.371 EDT [242938] LOG:  connection received: host=::1 port=36714
2021-11-01 12:01:51.235 EDT [242938] DEBUG:  shmem_exit(0): 0 before_shmem_exit callbacks to make
2021-11-01 12:01:51.235 EDT [242938] DEBUG:  shmem_exit(0): 0 on_shmem_exit callbacks to make
2021-11-01 12:01:51.235 EDT [242938] DEBUG:  proc_exit(0): 1 callbacks to make
2021-11-01 12:01:51.235 EDT [242938] DEBUG:  exit(0)
2021-11-01 12:01:51.235 EDT [242938] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:01:51.235 EDT [242938] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:01:51.235 EDT [242938] DEBUG:  proc_exit(-1): 0 callbacks to make
2021-11-01 12:01:51.236 EDT [242925] DEBUG:  forked new backend, pid=242941 socket=12
2021-11-01 12:01:51.237 EDT [242941] LOG:  connection received: host=127.0.0.1 port=43428
2021-11-01 12:01:51.237 EDT [242925] DEBUG:  reaping dead processes
2021-11-01 12:01:51.237 EDT [242925] DEBUG:  server process (PID 242938) exited with exit code 0
2021-11-01 12:01:58.284 EDT [242941] DEBUG:  shmem_exit(0): 0 before_shmem_exit callbacks to make
2021-11-01 12:01:58.284 EDT [242941] DEBUG:  shmem_exit(0): 0 on_shmem_exit callbacks to make
2021-11-01 12:01:58.284 EDT [242941] DEBUG:  proc_exit(0): 1 callbacks to make
2021-11-01 12:01:58.284 EDT [242941] DEBUG:  exit(0)
2021-11-01 12:01:58.284 EDT [242941] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:01:58.284 EDT [242941] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:01:58.284 EDT [242941] DEBUG:  proc_exit(-1): 0 callbacks to make
2021-11-01 12:01:58.285 EDT [242925] DEBUG:  reaping dead processes
2021-11-01 12:01:58.285 EDT [242925] DEBUG:  server process (PID 242941) exited with exit code 0
2021-11-01 12:01:59.295 EDT [242925] DEBUG:  forked new backend, pid=242944 socket=12
2021-11-01 12:01:59.295 EDT [242944] LOG:  connection received: host=::1 port=36758
2021-11-01 12:02:06.301 EDT [242944] DEBUG:  shmem_exit(0): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:06.301 EDT [242944] DEBUG:  shmem_exit(0): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:06.301 EDT [242944] DEBUG:  proc_exit(0): 1 callbacks to make
2021-11-01 12:02:06.301 EDT [242944] DEBUG:  exit(0)
2021-11-01 12:02:06.301 EDT [242944] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:06.301 EDT [242944] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:06.301 EDT [242944] DEBUG:  proc_exit(-1): 0 callbacks to make
2021-11-01 12:02:06.301 EDT [242925] DEBUG:  forked new backend, pid=242948 socket=12
2021-11-01 12:02:06.302 EDT [242925] DEBUG:  reaping dead processes
2021-11-01 12:02:06.302 EDT [242925] DEBUG:  server process (PID 242944) exited with exit code 0
2021-11-01 12:02:06.302 EDT [242948] LOG:  connection received: host=127.0.0.1 port=43470
2021-11-01 12:02:13.440 EDT [242948] DEBUG:  shmem_exit(0): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:13.440 EDT [242948] DEBUG:  shmem_exit(0): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:13.440 EDT [242948] DEBUG:  proc_exit(0): 1 callbacks to make
2021-11-01 12:02:13.440 EDT [242948] DEBUG:  exit(0)
2021-11-01 12:02:13.440 EDT [242948] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:13.440 EDT [242948] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:13.440 EDT [242948] DEBUG:  proc_exit(-1): 0 callbacks to make
2021-11-01 12:02:13.441 EDT [242925] DEBUG:  reaping dead processes
2021-11-01 12:02:13.441 EDT [242925] DEBUG:  server process (PID 242948) exited with exit code 0
2021-11-01 12:02:14.148 EDT [242925] DEBUG:  postmaster received signal 2
2021-11-01 12:02:14.148 EDT [242925] LOG:  received fast shutdown request
2021-11-01 12:02:14.150 EDT [242925] LOG:  aborting any active transactions
2021-11-01 12:02:14.150 EDT [242933] DEBUG:  shmem_exit(0): 1 before_shmem_exit callbacks to make
2021-11-01 12:02:14.150 EDT [242933] DEBUG:  shmem_exit(0): 5 on_shmem_exit callbacks to make
2021-11-01 12:02:14.150 EDT [242933] DEBUG:  proc_exit(0): 2 callbacks to make
2021-11-01 12:02:14.150 EDT [242933] DEBUG:  exit(0)
2021-11-01 12:02:14.150 EDT [242933] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:14.150 EDT [242933] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:14.150 EDT [242933] DEBUG:  proc_exit(-1): 0 callbacks to make
2021-11-01 12:02:14.150 EDT [242928] DEBUG:  shmem_exit(1): 1 before_shmem_exit callbacks to make
2021-11-01 12:02:14.150 EDT [242928] DEBUG:  shmem_exit(1): 7 on_shmem_exit callbacks to make
2021-11-01 12:02:14.150 EDT [242928] DEBUG:  removing all KnownAssignedXids
2021-11-01 12:02:14.150 EDT [242928] DEBUG:  release all standby locks
2021-11-01 12:02:14.150 EDT [242928] DEBUG:  proc_exit(1): 2 callbacks to make
2021-11-01 12:02:14.150 EDT [242928] DEBUG:  exit(1)
2021-11-01 12:02:14.150 EDT [242928] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:14.150 EDT [242928] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:14.150 EDT [242928] DEBUG:  proc_exit(-1): 0 callbacks to make
2021-11-01 12:02:14.151 EDT [242925] DEBUG:  reaping dead processes
2021-11-01 12:02:14.151 EDT [242925] DEBUG:  reaping dead processes
2021-11-01 12:02:14.449 EDT [242925] DEBUG:  forked new backend, pid=242954 socket=12
2021-11-01 12:02:14.450 EDT [242954] LOG:  connection received: host=::1 port=36798
2021-11-01 12:02:15.915 EDT [242936] FATAL:  terminating walreceiver process due to administrator command
2021-11-01 12:02:15.915 EDT [242936] DEBUG:  shmem_exit(1): 1 before_shmem_exit callbacks to make
2021-11-01 12:02:15.915 EDT [242936] DEBUG:  shmem_exit(1): 6 on_shmem_exit callbacks to make
2021-11-01 12:02:15.915 EDT [242936] DEBUG:  proc_exit(1): 2 callbacks to make
2021-11-01 12:02:15.915 EDT [242936] DEBUG:  exit(1)
2021-11-01 12:02:15.916 EDT [242936] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:15.916 EDT [242936] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:15.916 EDT [242936] DEBUG:  proc_exit(-1): 0 callbacks to make
2021-11-01 12:02:15.917 EDT [242925] DEBUG:  reaping dead processes
2021-11-01 12:02:15.917 EDT [242932] LOG:  shutting down
2021-11-01 12:02:15.917 EDT [242932] DEBUG:  skipping restartpoint, already performed at 1/28
2021-11-01 12:02:15.919 EDT [242932] DEBUG:  updated min recovery point to 1/1000000 on timeline 118
2021-11-01 12:02:15.920 EDT [242932] DEBUG:  shmem_exit(0): 1 before_shmem_exit callbacks to make
2021-11-01 12:02:15.920 EDT [242932] DEBUG:  shmem_exit(0): 5 on_shmem_exit callbacks to make
2021-11-01 12:02:15.920 EDT [242932] DEBUG:  proc_exit(0): 2 callbacks to make
2021-11-01 12:02:15.920 EDT [242932] DEBUG:  exit(0)
2021-11-01 12:02:15.920 EDT [242932] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:15.920 EDT [242932] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:15.920 EDT [242932] DEBUG:  proc_exit(-1): 0 callbacks to make
2021-11-01 12:02:15.921 EDT [242925] DEBUG:  reaping dead processes
2021-11-01 12:02:15.921 EDT [242934] DEBUG:  writing stats file "pg_stat/global.stat"
2021-11-01 12:02:15.921 EDT [242934] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:15.921 EDT [242934] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:15.921 EDT [242934] DEBUG:  proc_exit(-1): 0 callbacks to make
2021-11-01 12:02:15.922 EDT [242925] DEBUG:  reaping dead processes
2021-11-01 12:02:17.890 EDT [242925] DEBUG:  postmaster received signal 2
2021-11-01 12:02:18.617 EDT [242954] DEBUG:  shmem_exit(0): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:18.617 EDT [242954] DEBUG:  shmem_exit(0): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:18.617 EDT [242954] DEBUG:  proc_exit(0): 1 callbacks to make
2021-11-01 12:02:18.617 EDT [242954] DEBUG:  exit(0)
2021-11-01 12:02:18.617 EDT [242954] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:18.617 EDT [242954] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:18.617 EDT [242954] DEBUG:  proc_exit(-1): 0 callbacks to make
2021-11-01 12:02:18.618 EDT [242925] DEBUG:  reaping dead processes
2021-11-01 12:02:18.618 EDT [242925] DEBUG:  server process (PID 242954) exited with exit code 0
2021-11-01 12:02:18.618 EDT [242925] DEBUG:  shmem_exit(0): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:18.618 EDT [242925] DEBUG:  shmem_exit(0): 5 on_shmem_exit callbacks to make
2021-11-01 12:02:18.618 EDT [242925] DEBUG:  cleaning up dynamic shared memory control segment with ID 2104592565
2021-11-01 12:02:18.631 EDT [242925] DEBUG:  proc_exit(0): 2 callbacks to make
2021-11-01 12:02:18.631 EDT [242925] LOG:  database system is shut down
2021-11-01 12:02:18.631 EDT [242925] DEBUG:  exit(0)
2021-11-01 12:02:18.631 EDT [242925] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:18.631 EDT [242925] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:18.631 EDT [242925] DEBUG:  proc_exit(-1): 0 callbacks to make
2021-11-01 12:02:18.633 EDT [242927] DEBUG:  logger shutting down
2021-11-01 12:02:18.633 EDT [242927] DEBUG:  shmem_exit(0): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:18.633 EDT [242927] DEBUG:  shmem_exit(0): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:18.633 EDT [242927] DEBUG:  proc_exit(0): 0 callbacks to make
2021-11-01 12:02:18.633 EDT [242927] DEBUG:  exit(0)
2021-11-01 12:02:18.633 EDT [242927] DEBUG:  shmem_exit(-1): 0 before_shmem_exit callbacks to make
2021-11-01 12:02:18.633 EDT [242927] DEBUG:  shmem_exit(-1): 0 on_shmem_exit callbacks to make
2021-11-01 12:02:18.633 EDT [242927] DEBUG:  proc_exit(-1): 0 callbacks to make

Se eu parar o Patroni, o servidor começará a funcionar bem e ingressará na replicação conforme o esperado. O usuário postgres pode se conectar localmente ou remotamente usando o utilitário psql ou até mesmo usando pgadmin.

Alguém poderia explicar o que está acontecendo aqui? Ainda estou aprendendo PGSQL e ainda não estou muito confortável com esses logs... Obrigado!

Para mais contexto, você também pode ver a edição nº 2104 do Patroni que publiquei .

postgresql patroni
  • 1 respostas
  • 170 Views
Martin Hope
JulioQc
Asked: 2021-10-27 08:51:05 +0800 CST

O mapeamento de usuário do PostgreSQL não funciona entre o usuário do AD e o usuário do banco de dados

  • 0

Estou tentando configurar kerberos auth entre meu laboratório RHEL PSQL 13 e meu AD com algum sucesso, a menos que eu tente configurar mapas de usuário em pg_ident.conf conforme documentado .

Meu usuário psql é usere meu usuário AD é [email protected]. O último é usado para conectar pelos usuários e o primeiro é como os usuários são definidos no banco de dados. Eu preciso remover o domínio para corresponder corretamente com os usuários do psql.

O usuário do AD tem o SPN da máquina configurado e o keytab foi definido na configuração do psql.

pg_hba.confArquivo:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             0.0.0.0/0               gss include_realm=1 krb_realm=DOMAIN.COM map=ad

pg_ident.confArquivo:

# MAPNAME       SYSTEM-USERNAME         PG-USERNAME
ad              /^(.*)@DOMAIN\.COM$     \1
ad              /^(.*)@domain\.com$     \1

Agora, quando tento conectar usando kerberos auth com [email protected], no pgAdmin4, por exemplo, ele falha com o seguinte nos logs do psql:

LOG:  no match in usermap "ad" for user "[email protected]" authenticated as "[email protected]"
FATAL:  GSSAPI authentication failed for user "[email protected]"
DETAIL:  Connection matched pg_hba.conf line 99: "host    all             all             0.0.0.0/0               gss include_realm=1 krb_realm=DOMAIN.COM map=ad"

Se eu configurar pg_hba.confcomo abaixo e conectar usando usersem o domínio, posso me conectar bem.

pg_hba.confArquivo:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
host    all             all             0.0.0.0/0               gss include_realm=0 krb_realm=DOMAIN.COM

O que eu estou fazendo errado aqui? Por que os usuários não estão mapeando? Estou no RHEL8 executando o PSQL 13.

postgresql kerberos
  • 2 respostas
  • 410 Views
Martin Hope
JulioQc
Asked: 2021-10-20 06:47:22 +0800 CST

FATAL: nenhuma entrada pg_hba.conf para conexão de replicação do host

  • 0

Ok, antes que isso seja sinalizado como duplicado, tenha paciência comigo.

Estou tentando conectar duas réplicas (.12 e .13) a um banco de dados PGSQL13 primário (.11) em um ambiente de laboratório usando replicação de fluxo síncrona, mas falha com as seguintes entradas de log nos logs psql primários:

FATAL:  no pg_hba.conf entry for replication connection from host "192.168.23.11", user "replicator", SSL off
FATAL:  no pg_hba.conf entry for replication connection from host "192.168.23.12", user "replicator", SSL off
FATAL:  no pg_hba.conf entry for replication connection from host "192.168.23.13", user "replicator", SSL off

Aqui está a entrada pg_hba.conf relevante em todos os servidores:

host    all             all             192.168.23.0/28         md5

Mudando para scram-sha-256ou trustnão muda nada. O que estou perdendo aqui??

Estou no PGSQL13 e usando o patroni para inicializá-lo. A replicação costumava funcionar bem antes de eu testar o desligamento de todos os servidores e iniciá-los novamente. Estou pensando que este comando SET password_encryption = 'scram-sha-256';quebrou algo, mas pensei que pg_hba foi validado antes da senha, e md5/scram-sha-256 deve cuidar disso de qualquer maneira.

postgresql patroni
  • 1 respostas
  • 1486 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