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 / dba / 问题

All perguntas(dba)

Martin Hope
Marcello Miorelli
Asked: 2024-11-06 03:33:04 +0800 CST

como posso listar todas as visualizações e funções que são replicadas?

  • 5

Tenho um script para me mostrar os artigos de replicação de uma publicação:

declare @publication_name sysname = 'my_pub'
declare @database_name sysname = 'my_db'
 use [my_db]


select  ServerName = @@servername
       ,publication_name=p.name
       ,p.repl_freq
       ,p.status
       ,p.sync_method
       --,snapshot_job_name=j.name
       ,p.independent_agent
       ,p.immediate_sync
       ,p.allow_anonymous
       ,p.replicate_ddl
       ,article_name=OBJECT_SCHEMA_NAME(a.objid) + '.' + OBJECT_NAME(a.objid)
       ,a.pre_creation_cmd 
       ,pre_creation_cmd_desc  = CASE a.pre_creation_cmd 
         WHEN 0 THEN 'none      - Doesn''t use a command.'
         WHEN 1 THEN 'drop      - Drops the destination table.'
         WHEN 2 THEN 'delete    - Deletes the destination table.'
         WHEN 3 THEN 'truncate  - Truncates the destination table.'
         ELSE 'Not known - Radhe Radhe'
        END


            FROM dbo.syspublications P 
            INNER JOIN dbo.sysarticles A 
                    ON P.pubid = A.pubid

           left outer  JOIN msdb.dbo.sysjobs j
                    ON j.job_id = p.snapshot_jobid

 where p.name = @publication_name

Entretanto, nesta publicação específica em que estou trabalhando no momento, também tenho funções e esses objetos não são mostrados na minha consulta acima?

Como posso vê-los, já que sei que estão lá?

sql-server
  • 1 respostas
  • 23 Views
Martin Hope
Marcello Miorelli
Asked: 2024-11-05 21:24:52 +0800 CST

como obter a localização do backup também? você pode usar múltiplas colunas pivotando ou qualquer outra maneira!

  • 5

Recebi esta ótima consulta que mostra o backup mais recente para cada banco de dados existente .

SELECT
    M.name,
    [Recovery Model] = 
        M.recovery_model_desc,
    [State] = 
        M.state_desc,
    [Last Full Backup] = 
        FORMAT(ISNULL(M.D, '19000101'), 'dd-MM-yyyy hh:mm'),
    [Last Differential Backup] = 
        FORMAT(ISNULL(M.I, '19000101'), 'dd-MM-yyyy hh:mm'),
    [Last log Backup] = 
        FORMAT(ISNULL(M.L, '19000101'), 'dd-MM-yyyy hh:mm')
FROM
(
    SELECT
        db.name,
        db.state_desc,
        db.recovery_model_desc,
        a.type,
        a.backup_finish_date
    FROM master.sys.databases AS db
    LEFT OUTER JOIN msdb.dbo.backupset AS a
      ON a.database_name = db.name
) AS Sourcetable
PIVOT
(
    MAX(backup_finish_date)
    FOR type IN
    (
        D,
        I,
        L
    )
) AS M --ostRecentBackup
WHERE name NOT IN
(
    N'master',
    N'msdb',
    N'model',
    N'tempdb'
);

Notei que ele usa pivotamento. E se eu tivesse que adicionar o local também? Seriam várias colunas .

Seja dinamizando usando múltiplas colunas ou desdinamizando , como eu poderia adicionar a localização de cada tipo de backup à consulta acima?

basicamente onde está o último backup completo, onde está o último diff e o último log (se houver).

este é o script que uso para ver a localização do backup:

SELECT   
   CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server, 
   msdb.dbo.backupset.database_name,  
   msdb.dbo.backupset.TYPE,
   msdb.dbo.backupset.backup_start_date,  
   msdb.dbo.backupset.backup_finish_date, 
   msdb.dbo.backupset.expiration_date, 
   msdb.dbo.backupset.backup_size,  
   msdb.dbo.backupset.backup_size * 1.024 /1024/1024 as [Backup size in MB],
   msdb.dbo.backupmediafamily.logical_device_name,  
   msdb.dbo.backupmediafamily.physical_device_name,   
   msdb.dbo.backupset.name AS backupset_name, 
   msdb.dbo.backupset.description 
FROM   msdb.dbo.backupmediafamily  
   INNER JOIN msdb.dbo.backupset 
           ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id  
--WHERE msdb.dbo.backupset.database_name = 'PivCRM_Prod_Online_ED'
--AND TYPE = 'D'  -- L D and I
ORDER BY msdb.dbo.backupset.backup_start_date DESC

a questão é:

como eu adicionaria o local do backup (cada tipo) à primeira consulta?

sql-server
  • 1 respostas
  • 38 Views
Martin Hope
PTL_SQL
Asked: 2024-11-04 21:38:38 +0800 CST

O arquivo *.trc não é um arquivo de rastreamento reconhecível

  • 5

Estou recebendo o seguinte alerta apenas para um arquivo de rastreamento: O arquivo 'xxx.trc' não é um arquivo de rastreamento reconhecível.

Posso selecionar todos os outros arquivos de rastreamento usando fn_trace_gettable.

É seguro excluir este arquivo de 0 bytes para interromper o alerta?

obrigado

sql-server
  • 1 respostas
  • 62 Views
Martin Hope
Avinash Pawar
Asked: 2024-11-04 01:36:28 +0800 CST

capturar contagem de linhas excluídas em uma variável da tabela mysql usando script bash

  • 4

Estou tentando capturar o número de linhas excluídas da tabela mysql de um script bash usando --executeoption, e parece que não está funcionando. Eu li algumas perguntas onde menciona o uso -vvde options, funciona, mas não como esperado. Eu usei várias combinações de -vvv --silente --skip-column-namescom o comando mysql e awk e sed também, mas nada parece funcionar.

O cliente MySQL émysql Ver 8.0.39 for Linux on aarch64 (MySQL Community Server - GPL)

https://stackoverflow.com/questions/2628310/how-to-get-number-of-rows-deleted-from-mysql-in-shell-script

https://stackoverflow.com/questions/1083866/how-to-get-number-of-rows-affected-while-executing-mysql-query-from-bash

Como você pode gerar resultados de consulta UPDATE / INSERT ao usar MySQL -e,--execute?

Aqui está o código

deleted=$(mysql --login-path=lp1 --init-command="SET SQL_LOG_BIN = 0" -vv --silent --skip-column-names db -e "delete from table1 where column1 date_format('2022-04-01 00:00:00','%Y-%m-%d 00:00:00') and date_format('2023-03-31 23:59:59','%Y-%m-%d 23:59:59') order by column1 limit 20;")

echo ${deleted}

A declaração exclui certas linhas, mas imprime uma saída como esta

-------------- delete from table1 where column1 between date_format('2022-04-01 00:00:00','%Y-%m-%d 00:00:00') and date_format('2023-03-31 23:59:59','%Y-%m-%d 23:59:59') order by column1 limit 20 -------------- Query OK, 20 rows affected --------------  1 row in set Bye

Se eu adicionar mais uma linha para obter o row_count, ele me dará -1

mysql --login-path=${LP_wallet_0} -e "select row_count()"

Mesmo se eu tentar row_count() na mesma consulta de exclusão, ele apenas anexa esta linhaselect row_count() -------------- 2 1 row in set Bye

Tentei diferentes combinações de --vv --silent --skip-column-namese awke sedtambém, mas não consegui fazer a contagem.

mysql
  • 1 respostas
  • 15 Views
Martin Hope
BrownianBridge
Asked: 2024-11-03 19:21:24 +0800 CST

Como evitar o erro 'default_native_password is deprecated' no MySQL?

  • 7

Tenho a funcionalidade de senha padrão habilitada no MySQL versão 8.3.0.

Estou usando essa funcionalidade intencionalmente.

O MySQL está gravando no log de erros:

''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead

pouco menos de 100 vezes por segundo. Ao longo de algumas semanas, isso esgotou o espaço do disco rígido do meu servidor de 80 GB.

Como posso evitar que o MySQL reclame sobre o uso desta configuração?

Um aparte

Estou ciente do general_log = offpar de parâmetros e valores para desabilitar logs 'gerais'. Isso não desabilita logs de erro.

Se eu não conseguir encontrar uma maneira de acabar com esse erro, provavelmente alterarei o local do log de erros para /dev/null.

No entanto, seria bom poder remover essa mensagem em ambos os casos.

Especificações

MySQL versão 8.3.0. Linux versão 20.04.6 (fossa focal).

mysql
  • 1 respostas
  • 49 Views
Martin Hope
adinas
Asked: 2024-11-03 18:26:05 +0800 CST

Alterações de esquema na versão 5.0 resultam em falhas de gossip, oacdb.db.TypeSizes.sizeof() retorna "AssertionError: null"

  • 6

Temos um cluster de 2 nós (sei que 3 é o mínimo recomendado) que executou o Cassandra 3 e depois o 4 por anos sem incidentes.

Na semana passada, atualizamos ambos os nós para o Cassandra 5.

Desde então, os nós têm tido o que parecem ser problemas de fofoca e comunicação. Especialmente quando o esquema é atualizado (como ao criar ou excluir uma tabela).

Aqui está o log de depuração logo após fazer uma alteração de esquema (excluir uma tabela):

INFO  [Native-Transport-Requests-1] 2024-11-03 09:48:04,021 Keyspace.java:379 - Creating replication strategy r_internal params KeyspaceParams{durable_writes=true, replication=ReplicationParams{class=org.apache.cassandra.locator.SimpleStrategy, replication_factor=2}}
DEBUG [Native-Transport-Requests-1] 2024-11-03 09:48:04,064 MigrationCoordinator.java:430 - Reported schema a47919aa-79b3-362c-b023-d8ac89671885 at endpoint /10.10.2.27:7000
DEBUG [MigrationStage:1] 2024-11-03 09:48:04,070 MigrationCoordinator.java:749 - Pushing schema mutations: [Mutation(keyspace='system_schema', key='72617976656e5f696e7465726e616c', modifications=[
  [system_schema.columns] key=r_internal partition_deletion=deletedAt=-9223372036854775808, localDeletion=9223372036854775807 columns=[[] | []]
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=cdate |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=device_id |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=event_timestamp |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=info |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=input |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=node_id |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=output |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=server |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=unique_flow_process |
  [system_schema.indexes] key=r_internal partition_deletion=deletedAt=-9223372036854775808, localDeletion=9223372036854775807 columns=[[] | []]
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, index_name=p1489_log_node_input_output_unique_flow_process_idx |
  [system_schema.keyspaces] key=r_internal partition_deletion=deletedAt=-9223372036854775808, localDeletion=9223372036854775807 columns=[[] | [durable_writes replication]]
    Row[info=[ts=1730627238890000] ]: EMPTY | [durable_writes=true ts=1730627238890000], [replication=0000000200000005636c6173730000002b6f72672e6170616368652e63617373616e6472612e6c6f6361746f722e53696d706c655374726174656779000000127265706c69636174696f6e5f666163746f720000000132 ts=1730627238890000]
  [system_schema.tables] key=r_internal partition_deletion=deletedAt=-9223372036854775808, localDeletion=9223372036854775807 columns=[[] | []]
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output |
])]
DEBUG [MigrationStage:1] 2024-11-03 09:48:04,071 MigrationCoordinator.java:757 - Pushing schema mutations to /10.10.2.28:7000: [Mutation(keyspace='system_schema', key='72617976656e5f696e7465726e616c', modifications=[
  [system_schema.columns] key=r_internal partition_deletion=deletedAt=-9223372036854775808, localDeletion=9223372036854775807 columns=[[] | []]
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=cdate |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=device_id |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=event_timestamp |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=info |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=input |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=node_id |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=output |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=server |
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, column_name=unique_flow_process |
  [system_schema.indexes] key=r_internal partition_deletion=deletedAt=-9223372036854775808, localDeletion=9223372036854775807 columns=[[] | []]
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output, index_name=p1489_log_node_input_output_unique_flow_process_idx |
  [system_schema.keyspaces] key=r_internal partition_deletion=deletedAt=-9223372036854775808, localDeletion=9223372036854775807 columns=[[] | [durable_writes replication]]
    Row[info=[ts=1730627238890000] ]: EMPTY | [durable_writes=true ts=1730627238890000], [replication=0000000200000005636c6173730000002b6f72672e6170616368652e63617373616e6472612e6c6f6361746f722e53696d706c655374726174656779000000127265706c69636174696f6e5f666163746f720000000132 ts=1730627238890000]
  [system_schema.tables] key=r_internal partition_deletion=deletedAt=-9223372036854775808, localDeletion=9223372036854775807 columns=[[] | []]
    Row[info=[ts=-9223372036854775808] del=deletedAt=1730627238890000, localDeletion=1730627238 ]: table_name=p1489_log_node_input_output |
])]
ERROR [GossipStage:1] 2024-11-03 09:48:04,187 JVMStabilityInspector.java:70 - Exception in thread Thread[GossipStage:1,5,GossipStage]
java.lang.RuntimeException: java.lang.AssertionError
        at org.apache.cassandra.net.InboundSink.accept(InboundSink.java:108)
        at org.apache.cassandra.net.InboundSink.accept(InboundSink.java:45)
        at org.apache.cassandra.net.InboundMessageHandler$ProcessMessage.run(InboundMessageHandler.java:430)
        at org.apache.cassandra.concurrent.ExecutionFailure$1.run(ExecutionFailure.java:133)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
        at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.AssertionError: null
        at org.apache.cassandra.db.TypeSizes.sizeof(TypeSizes.java:44)
        at org.apache.cassandra.gms.VersionedValue$VersionedValueSerializer.serializedSize(VersionedValue.java:365)
        at org.apache.cassandra.gms.VersionedValue$VersionedValueSerializer.serializedSize(VersionedValue.java:343)
        at org.apache.cassandra.gms.EndpointStateSerializer.serializedSize(EndpointState.java:344)
        at org.apache.cassandra.gms.EndpointStateSerializer.serializedSize(EndpointState.java:300)
        at org.apache.cassandra.gms.GossipDigestAckSerializer.serializedSize(GossipDigestAck.java:96)
        at org.apache.cassandra.gms.GossipDigestAckSerializer.serializedSize(GossipDigestAck.java:61)
        at org.apache.cassandra.net.Message$Serializer.payloadSize(Message.java:1088)
        at org.apache.cassandra.net.Message.payloadSize(Message.java:1131)
        at org.apache.cassandra.net.Message$Serializer.serializedSize(Message.java:769)
        at org.apache.cassandra.net.Message.serializedSize(Message.java:1111)
        at org.apache.cassandra.net.OutboundConnections.connectionTypeFor(OutboundConnections.java:215)
        at org.apache.cassandra.net.OutboundConnections.connectionFor(OutboundConnections.java:207)
        at org.apache.cassandra.net.OutboundConnections.enqueue(OutboundConnections.java:96)
        at org.apache.cassandra.net.MessagingService.doSend(MessagingService.java:473)
        at org.apache.cassandra.net.OutboundSink.accept(OutboundSink.java:70)
        at org.apache.cassandra.net.MessagingService.send(MessagingService.java:462)
        at org.apache.cassandra.net.MessagingService.send(MessagingService.java:437)
        at org.apache.cassandra.gms.GossipDigestSynVerbHandler.doVerb(GossipDigestSynVerbHandler.java:110)
        at org.apache.cassandra.net.InboundSink.lambda$new$0(InboundSink.java:78)
        at org.apache.cassandra.net.InboundSink.accept(InboundSink.java:97)
        ... 7 common frames omitted
DEBUG [GossipStage:1] 2024-11-03 09:48:04,187 HeapUtils.java:133 - Heap dump creation on uncaught exceptions is disabled.
DEBUG [GossipStage:1] 2024-11-03 09:48:04,187 HeapUtils.java:133 - Heap dump creation on uncaught exceptions is disabled.

A exceção Exception no thread Thread[GossipStage:1,5,GossipStage] continua se repetindo várias vezes.

Neste ponto, a execução do status do nodetool mostra que cada um pensa que o outro está inativo insira a descrição da imagem aqui

Geralmente, preciso drenar e reiniciar ambos os nós (o que faço um após o outro) para que ambos se vejam e mostrem que seus esquemas estão sincronizados.

Aqui está a saída do nodetool gossipinfo (após reiniciar os nós)

/10.10.2.27
  generation:1730627829
  heartbeat:939
  STATUS:23:NORMAL,-1656170799351181049
  LOAD:898:2.029075780322E12
  SCHEMA:17:a47919aa-79b3-362c-b023-d8ac89671885
  DC:13:dc1
  RACK:15:rack1
  RELEASE_VERSION:6:5.0.2
  INTERNAL_IP:11:10.10.2.27
  RPC_ADDRESS:5:10.10.2.27
  NET_VERSION:2:12
  HOST_ID:3:8be5925c-0436-4bc7-bd4c-0fb5dd8fc9e5
  RPC_READY:35:true
  INTERNAL_ADDRESS_AND_PORT:9:10.10.2.27:7000
  NATIVE_ADDRESS_AND_PORT:4:10.10.2.27:9042
  STATUS_WITH_PORT:22:NORMAL,-1656170799351181049
  SSTABLE_VERSIONS:7:big-nb
  TOKENS:21:<hidden>
/10.10.2.28
  generation:1730628138
  heartbeat:619
  LOAD:586:2.215579324507E12
  SCHEMA:17:a47919aa-79b3-362c-b023-d8ac89671885
  DC:13:dc1
  RACK:15:rack1
  RELEASE_VERSION:6:5.0.2
  NET_VERSION:2:12
  HOST_ID:3:c9e8a4f8-c7b2-4cac-994a-e8de50c9f358
  RPC_READY:35:true
  INTERNAL_ADDRESS_AND_PORT:9:10.10.2.28:7000
  NATIVE_ADDRESS_AND_PORT:4:10.10.2.28:9042
  STATUS_WITH_PORT:22:NORMAL,-2024247660995288657
  SSTABLE_VERSIONS:7:big-nb
  TOKENS:21:<hidden>

E aqui do segundo nó

/10.10.2.27
  generation:1730627829
  heartbeat:906
  LOAD:898:2.029075780322E12
  SCHEMA:17:a47919aa-79b3-362c-b023-d8ac89671885
  DC:13:dc1
  RACK:15:rack1
  RELEASE_VERSION:6:5.0.2
  NET_VERSION:2:12
  HOST_ID:3:8be5925c-0436-4bc7-bd4c-0fb5dd8fc9e5
  RPC_READY:35:true
  INTERNAL_ADDRESS_AND_PORT:9:10.10.2.27:7000
  NATIVE_ADDRESS_AND_PORT:4:10.10.2.27:9042
  STATUS_WITH_PORT:22:NORMAL,-1656170799351181049
  SSTABLE_VERSIONS:7:big-nb
  TOKENS:21:<hidden>
/10.10.2.28
  generation:1730628138
  heartbeat:584
  STATUS:23:NORMAL,-2024247660995288657
  LOAD:524:2.215537773956E12
  SCHEMA:17:a47919aa-79b3-362c-b023-d8ac89671885
  DC:13:dc1
  RACK:15:rack1
  RELEASE_VERSION:6:5.0.2
  INTERNAL_IP:11:10.10.2.28
  RPC_ADDRESS:5:10.10.2.28
  NET_VERSION:2:12
  HOST_ID:3:c9e8a4f8-c7b2-4cac-994a-e8de50c9f358
  RPC_READY:35:true
  INTERNAL_ADDRESS_AND_PORT:9:10.10.2.28:7000
  NATIVE_ADDRESS_AND_PORT:4:10.10.2.28:9042
  STATUS_WITH_PORT:22:NORMAL,-2024247660995288657
  SSTABLE_VERSIONS:7:big-nb
  TOKENS:21:<hidden>

Quando eles estão tendo problemas, isso é o que o nodetool gossinfo mostra quando executado em 10.10.2.28:

/10.10.2.27
  generation:1730626480
  heartbeat:810
  LOAD:771:2.029304184276E12
  SCHEMA:17:9bcfb867-92ca-3144-92d7-da5fed3359d0
  DC:13:dc1
  RACK:15:rack1
  RELEASE_VERSION:6:5.0.2
  NET_VERSION:2:12
  HOST_ID:3:8be5925c-0436-4bc7-bd4c-0fb5dd8fc9e5
  RPC_READY:35:true
  INTERNAL_ADDRESS_AND_PORT:9:10.10.2.27:7000
  NATIVE_ADDRESS_AND_PORT:4:10.10.2.27:9042
  STATUS_WITH_PORT:22:NORMAL,-1656170799351181049
  SSTABLE_VERSIONS:7:big-nb
  TOKENS:21:<hidden>
/10.10.2.28
  generation:1730625184
  heartbeat:2523
  STATUS:23:NORMAL,-2024247660995288657
  LOAD:2513:2.214202366182E12
  SCHEMA:2243:a47919aa-79b3-362c-b023-d8ac89671885
  DC:13:dc1
  RACK:15:rack1
  RELEASE_VERSION:6:5.0.2
  INTERNAL_IP:11:10.10.2.28
  RPC_ADDRESS:5:10.10.2.28
  NET_VERSION:2:12
  HOST_ID:3:c9e8a4f8-c7b2-4cac-994a-e8de50c9f358
  RPC_READY:35:true
  INTERNAL_ADDRESS_AND_PORT:9:10.10.2.28:7000
  NATIVE_ADDRESS_AND_PORT:4:10.10.2.28:9042
  STATUS_WITH_PORT:22:NORMAL,-2024247660995288657
  SSTABLE_VERSIONS:7:big-nb
  INDEX_STATUS:2198:{"r_internal.p1643_log_node_input_output_unique_flow_process_idx":"BUILD_SUCCEEDED","r_internal.p1720_log_node_input_output_unique_flow_process_idx":"BUILD_SUCCEEDED","r_internal.p1479_log_node_input_output_unique_flow_process_idx":"BUILD_SUCCEEDED"...}
  TOKENS:21:<hidden>
cassandra
  • 1 respostas
  • 40 Views
Martin Hope
Dante
Asked: 2024-11-02 11:27:04 +0800 CST

Evite inserir ID pai errado

  • 8

Tenho duas tabelas em um banco de dados Postgres 17: sitee page. Cada site pode ter várias páginas e cada página pode ter uma página pai:

CREATE TABLE site (
  id INT PRIMARY KEY
);
CREATE TABLE page (
  id INT PRIMARY KEY,
  site_id INT references site(id),
  parent_id INT references page(id)
);

Agora suponha que eu tenha dois sites:

INSERT INTO site (id) VALUES (1);
INSERT INTO site (id) VALUES (2);

E uma página raiz para cada site:

INSERT INTO page (id, site_id, parent_id) VALUES (1, 1, NULL);
INSERT INTO page (id, site_id, parent_id) VALUES (2, 2, NULL);

Como evitar a inserção de uma nova página para o site 2 com uma página pai que pertence ao site 1?

INSERT INTO page (id, site_id, parent_id) VALUES (3, 2, 1);
postgresql
  • 1 respostas
  • 128 Views
Martin Hope
David Tonhofer
Asked: 2024-11-02 05:31:28 +0800 CST

Criar um novo banco de dados no PostgreSQL gera um erro "provedor de localidade não reconhecido: builtin"

  • 5

Estou correndo postgresql-server-16.3-3.fc41.x86_64e quero criar um banco de dados para o software wiki XWiki .

Seguindo as instruções detalhadas aqui , devo emitir a seguinte instrução CREATE DATABASE :

CREATE DATABASE xwiki
WITH 
OWNER = postgres
ENCODING = 'UNICODE'
LOCALE_PROVIDER = 'builtin'
LOCALE = 'C.UTF-8'
TABLESPACE = pg_default;

Ao emitir essa declaração, recebo:

ERROR:  unrecognized locale provider: builtin

Isso é inesperado, pois a documentação do PostgreSQL afirma que builtiné uma palavra-chave válida. Da página para CREATE DATABASE:

locale_provider: Especifica o provedor a ser usado para a ordenação padrão neste banco de dados. Os valores possíveis são builtin, icu(se o servidor foi criado com suporte a ICU) ou libc. Por padrão, o provedor é o mesmo do modelo. Consulte a Seção 23.1.4 para obter detalhes.

De onde vem essa mensagem de erro?

Como alternativa, posso usar um LOCALE_PROVIDERequal to libc, o mesmo que o provedor de localidade para template1o template database . Nesse caso, a collation também deve ser igual à do template database template1. Esse aqui é en_US.UTF-8(observe que, de acordo com a documentação para Character Set Support , UNICODEna verdade significa UTF-8, então não há contradição):

CREATE DATABASE xwiki
WITH 
OWNER = postgres
ENCODING = 'UNICODE'
LOCALE_PROVIDER = 'libc'
LOCALE = 'en_US.UTF-8'
TABLESPACE = pg_default;

Isso funciona bem.

Ou pode-se usar ICU com um local ICU apropriado (embora eu não saiba se o XWiki pode lidar com isso. Mas deveria, afinal é apenas um local):

CREATE DATABASE xwiki
WITH 
OWNER = postgres
TEMPLATE = 'template0'
ENCODING = 'UNICODE'
LOCALE_PROVIDER = 'icu'
ICU_LOCALE = 'en-US'
TABLESPACE = pg_default
postgresql
  • 1 respostas
  • 13 Views
Martin Hope
Ricardo Mayerhofer
Asked: 2024-11-02 04:10:05 +0800 CST

Envolva a função create em uma instrução do

  • 5

Tenho uma declaração de função create, que gostaria de envolver em torno de uma declaração DO para verificar se a função existe. No entanto, estou tendo um pouco de dificuldade com a sintaxe. Qualquer ajuda é bem-vinda. Obrigado!

Função, obras:

CREATE FUNCTION write_pos_history()
RETURNS TRIGGER AS $$
BEGIN
   EXECUTE ...
   RETURN NEW;
END;
$$ LANGUAGE plpgsql;

Tentativa de encapsulamento, erro: fim inesperado da definição da função no final da entrada

DO $$
BEGIN
   IF NOT EXISTS (SELECT 1 FROM pg_proc
               WHERE proname = 'write_pos_history'
               AND pg_function_is_visible(oid)) THEN
      CREATE FUNCTION write_pos_history()
      RETURNS TRIGGER AS $$
      BEGIN
         EXECUTE ...
         RETURN NEW;
      END;
      $$ LANGUAGE plpgsql;
   END IF;
END $$;
postgresql
  • 1 respostas
  • 15 Views
Martin Hope
TimLer
Asked: 2024-11-01 23:00:15 +0800 CST

MariaDB Criar um gatilho não funciona

  • 5

Tenho um MariaDB 10.6 Server em um Rhel linux e quero criar um gatilho para uma tabela. Este é meu código:

DELIMITER //

CREATE TRIGGER before_salary_update
BEFORE UPDATE ON Employee
FOR EACH ROW
BEGIN
    DECLARE salary_change DECIMAL(10, 2);
    
    -- Calculate the percentage change in salary
    SET salary_change = (NEW.salary - OLD.salary) / OLD.salary * 100;

    -- Check if the change is within the 10% threshold
    IF salary_change > 10 OR salary_change < -10 THEN
        SIGNAL SQLSTATE '45000' 
        SET MESSAGE_TEXT = 'Error: Salary change exceeds 10% limit.';
    END IF;
END //

DELIMITER ;

Quando executo meu código com o delimitador, meu terminal congela e tenho que interrompê-lo com ctrl+c. Quando executo sem o delimitador, recebo este erro:

ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1

Também tentei copiar isso para um arquivo sql e executá-lo do SO. Mas tenho o mesmo problema.

mariadb
  • 1 respostas
  • 14 Views
Prev
Próximo

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