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 / Perguntas / 318895
Accepted
John K. N.
John K. N.
Asked: 2022-10-29 04:48:11 +0800 CST2022-10-29 04:48:11 +0800 CST 2022-10-29 04:48:11 +0800 CST

Consultando a função sys.dm_db_log_info() enquanto reduz ao máximo

  • 772

Atualmente estou consultando o sys.dm_db_log_info()DMV para recuperar os VLFs de um banco de dados para determinar quando posso reduzir, reorganizar e reduzir a quantidade de fragmentados (10 MB VLFs) no arquivo TLOG.

A razão para isso é que você não pode reduzir o arquivo TLOG se uma transação estiver no final do arquivo TLOG e resultar em um VLF ativo. Situação semelhante, se uma transação ativa residir no meio do arquivo TLOG, você não poderá reduzir esse VLF.

Extrato atual

Atualmente tenho esta declaração para recuperar o MAX(vlf_begin_offset)registro, o MIN(vlf_begin_offset)registro e qualquer registro com um ativo vlf_active = 1:

SELECT ddli.vlf_begin_offset,
       ddli.vlf_sequence_number,
       ddli.vlf_active,
       ddli.vlf_status,
       ddli.vlf_first_lsn
FROM   sys.dm_db_log_info(DB_ID()) AS ddli
WHERE  ddli.vlf_begin_offset = (
           SELECT MIN(ddli2.vlf_begin_offset)
           FROM   sys.dm_db_log_info(DB_ID()) AS ddli2
       )
       OR  ddli.vlf_active = 1
       OR  ddli.vlf_begin_offset = (
               SELECT MAX(ddli3.vlf_begin_offset)
               FROM   sys.dm_db_log_info(DB_ID()) AS ddli3
           )
ORDER BY
       ddli.vlf_begin_offset ASC

Quando todos os registros são retornados, o conjunto de resultados fica assim:

+------------------+---------------------+------------+------------+------------------------+
| vlf_begin_offset | vlf_sequence_number | vlf_active | vlf_status |     vlf_first_lsn      |
+------------------+---------------------+------------+------------+------------------------+
|             8192 |              253978 |          0 |          0 | 00000000:00000000:0000 |
|           262144 |              253979 |          0 |          0 | 00000000:00000000:0000 |
|           516096 |              253980 |          0 |          0 | 00000000:00000000:0000 |
|           770048 |              253977 |          0 |          0 | 00000000:00000000:0000 |
|          1048576 |              253981 |          0 |          0 | 00000000:00000000:0000 |
|         17563648 |              253982 |          0 |          0 | 00000000:00000000:0000 |
|         34078720 |              253983 |          1 |          2 | 0003e01f:00000010:0001 |
|         50593792 |              253970 |          0 |          0 | 00000000:00000000:0000 |
|         67108864 |              253971 |          0 |          0 | 00000000:00000000:0000 |
|         75497472 |              253972 |          0 |          0 | 00000000:00000000:0000 |
|         83886080 |              253973 |          0 |          0 | 00000000:00000000:0000 |
|         92274688 |              253974 |          0 |          0 | 00000000:00000000:0000 |
|        100663296 |              253975 |          0 |          0 | 00000000:00000000:0000 |
|        109051904 |              253976 |          0 |          0 | 00000000:00000000:0000 |
|        117440512 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        236978176 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        356515840 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        476053504 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        595591168 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        715128832 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        834666496 |                   0 |          0 |          0 | 00000000:00000000:0000 |
|        954204160 |                   0 |          0 |          0 | 00000000:00000000:0000 |
+------------------+---------------------+------------+------------+------------------------+

Com meu script atual, recebo:

+------------------+---------------------+------------+------------+------------------------+
| vlf_begin_offset | vlf_sequence_number | vlf_active | vlf_status |     vlf_first_lsn      |
+------------------+---------------------+------------+------------+------------------------+
|             8192 |              253978 |          0 |          0 | 00000000:00000000:0000 |
|         34078720 |              253983 |          1 |          2 | 0003e01f:00000010:0001 |
|        954204160 |                   0 |          0 |          0 | 00000000:00000000:0000 |
+------------------+---------------------+------------+------------+------------------------+

informação adicional

O vlf_active = 1pode aparecer em vários locais. Pode haver mais de uma ilha com vlf_active = 1.

Perguntas

Seria bom ter um registro antes de qualquer vlf ativo ( vlf_active = 1) e um registro depois.

  • Como posso conseguir isso?

      +------------------+---------------------+------------+------------+------------------------+
      | vlf_begin_offset | vlf_sequence_number | vlf_active | vlf_status |     vlf_first_lsn      |
      +------------------+---------------------+------------+------------+------------------------+
      |             8192 |              253978 |          0 |          0 | 00000000:00000000:0000 |
      |         17563648 |              253982 |          0 |          0 | 00000000:00000000:0000 |
      |         34078720 |              253983 |          1 |          2 | 0003e01f:00000010:0001 |
      |         50593792 |              253970 |          0 |          0 | 00000000:00000000:0000 |    
      |        954204160 |                   0 |          0 |          0 | 00000000:00000000:0000 |
      +------------------+---------------------+------------+------------+------------------------+
    
  • O que seria necessário para ter um registro resumido no meio se houver centenas de registros? por exemplo, algo assim:

      +------------------+---------------------+------------+------------+------------------------+
      | vlf_begin_offset | vlf_sequence_number | vlf_active | vlf_status |     vlf_first_lsn      |
      +------------------+---------------------+------------+------------+------------------------+
      |             8192 |              253978 |          0 |          0 | 00000000:00000000:0000 |
      |  (4 res clipped) |                     |            |            |                        |
      |         17563648 |              253982 |          0 |          0 | 00000000:00000000:0000 |
      |         34078720 |              253983 |          1 |          2 | 0003e01f:00000010:0001 |
      |         50593792 |              253970 |          0 |          0 | 00000000:00000000:0000 |    
      | (13 res clipped) |                     |            |            | 00000000:00000000:0000 |    
      |        954204160 |                   0 |          0 |          0 |                        |
      +------------------+---------------------+------------+------------+------------------------+
    
sql-server
  • 2 2 respostas
  • 146 Views

2 respostas

  • Voted
  1. Charlieface
    2022-10-29T07:48:21+08:002022-10-29T07:48:21+08:00

    Funções de janela são o que você precisa aqui. LAGe LEADdirá quais são os valores das linhas anteriores e seguintes, e retornará NULLse não houver tal linha (em outras palavras, a primeira ou a última linha).

    SELECT
      ddli.vlf_begin_offset,
      ddli.vlf_sequence_number,
      ddli.vlf_active,
      ddli.vlf_status,
      ddli.vlf_first_lsn
    FROM  (
        SELECT *,
          prev_active = LAG (vlf_active) OVER (ORDER BY vlf_begin_offset),
          next_active = LEAD(vlf_active) OVER (ORDER BY vlf_begin_offset)
        FROM sys.dm_db_log_info(DB_ID()) ddli
    ) ddli
    WHERE (
          ddli.vlf_active = 1
       OR ddli.prev_active IS NULL
       OR ddli.prev_active = 1
       OR ddli.next_active IS NULL
       OR ddli.next_active = 1
    )
    ORDER BY
       ddli.vlf_begin_offset;
    

    Você pode simplificar a lógica se usar o defaultparâmetro de LEADeLAG

    SELECT
      ddli.vlf_begin_offset,
      ddli.vlf_sequence_number,
      ddli.vlf_active,
      ddli.vlf_status,
      ddli.vlf_first_lsn
    FROM  (
        SELECT *,
          prev_active = LAG (vlf_active, 1, 1) OVER (ORDER BY vlf_begin_offset),
          next_active = LEAD(vlf_active, 1, 1) OVER (ORDER BY vlf_begin_offset)
        FROM sys.dm_db_log_info(DB_ID()) ddli
    ) ddli
    WHERE 1 IN (ddli.vlf_active, ddli.prev_active, ddli.next_active)
    ORDER BY
       ddli.vlf_begin_offset;
    

    Outra opção é usar um condicional COUNTou um SUM, janelado sobre a linha anterior e a linha posterior. Você ainda precisa identificar a primeira LEAD LAGe ROW_NUMBERa última linhas, então não ganha muito.

    SELECT
      ddli.vlf_begin_offset,
      ddli.vlf_sequence_number,
      ddli.vlf_active,
      ddli.vlf_status,
      ddli.vlf_first_lsn
    FROM  (
        SELECT *,
          rn = ROW_NUMBER() OVER (ORDER BY vlf_begin_offset),
          next_active = LEAD(vlf_active) OVER (ORDER BY vlf_begin_offset),
          any_active = COUNT(NULLIF(vlf_active, 0)) OVER (ORDER BY vlf_begin_offset ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
        FROM sys.dm_db_log_info(DB_ID()) ddli
    ) ddli
    WHERE ddli.rn = 1
       OR ddli.any_active > 0
       OR ddli.next_active IS NULL
    ORDER BY
       ddli.vlf_begin_offset;
    
    • 5
  2. Best Answer
    Paul White
    2022-10-31T17:23:05+08:002022-10-31T17:23:05+08:00

    Requerimento

    Usando seus dados de amostra:

    DECLARE @LogInfo table
    (
        vlf_begin_offset bigint NULL UNIQUE CLUSTERED,
        vlf_sequence_number bigint NULL,
        vlf_active bit NOT NULL,
        vlf_status integer NULL,
        vlf_first_lsn nvarchar(24) NULL
    );
    
    INSERT @LogInfo
    VALUES
        (     8192, 253978, 0, 0, N'00000000:00000000:0000'),
        (   262144, 253979, 0, 0, N'00000000:00000000:0000'),
        (   516096, 253980, 0, 0, N'00000000:00000000:0000'),
        (   770048, 253977, 0, 0, N'00000000:00000000:0000'),
        (  1048576, 253981, 0, 0, N'00000000:00000000:0000'),
        ( 17563648, 253982, 0, 0, N'00000000:00000000:0000'),
        ( 34078720, 253983, 1, 2, N'0003e01f:00000010:0001'),
        ( 50593792, 253970, 0, 0, N'00000000:00000000:0000'),
        ( 67108864, 253971, 0, 0, N'00000000:00000000:0000'),
        ( 75497472, 253972, 0, 0, N'00000000:00000000:0000'),
        ( 83886080, 253973, 0, 0, N'00000000:00000000:0000'),
        ( 92274688, 253974, 0, 0, N'00000000:00000000:0000'),
        (100663296, 253975, 0, 0, N'00000000:00000000:0000'),
        (109051904, 253976, 0, 0, N'00000000:00000000:0000'),
        (117440512,      0, 0, 0, N'00000000:00000000:0000'),
        (236978176,      0, 0, 0, N'00000000:00000000:0000'),
        (356515840,      0, 0, 0, N'00000000:00000000:0000'),
        (476053504,      0, 0, 0, N'00000000:00000000:0000'),
        (595591168,      0, 0, 0, N'00000000:00000000:0000'),
        (715128832,      0, 0, 0, N'00000000:00000000:0000'),
        (834666496,      0, 0, 0, N'00000000:00000000:0000'),
        (954204160,      0, 0, 0, N'00000000:00000000:0000');
    

    Você quer ver:

    • A primeira linha em ordem de deslocamento
    • A última linha em ordem de deslocamento
    • Qualquer linha com ativo = 1
    • Qualquer linha em que a próxima linha na ordem de deslocamento esteja ativa = 1
    • Qualquer linha em que a linha anterior na ordem de deslocamento estava ativa = 1

    Solução

    Podemos fazer tudo isso com um quadro de janela ordenado por deslocamento cobrindo no máximo três linhas: a linha anterior, a linha atual e a linha seguinte.

    A primeira e a última linha têm apenas duas linhas em seus quadros. A primeira linha não possui uma linha anterior e a última linha não possui uma linha seguinte. Estamos sempre interessados ​​nessas linhas, independentemente do valor ativo. Outras linhas interessantes terão active = 1 em uma das linhas de seus quadros.

    Nota: Se houver apenas um VLF, o quadro terá apenas uma linha, mas essa linha deverá estar ativa. A linha ativa sempre será 'interessante'.

    Outra maneira de expressar isso para dizer que estamos interessados ​​em ambos:

    • Linhas com apenas duas linhas em seu quadro de três linhas
    • Linhas com ativo = 1 em qualquer linha de quadro

    Podemos encapsular isso na seguinte lógica:

    SELECT
        Q1.vlf_begin_offset,
        Q1.vlf_sequence_number,
        Q1.vlf_active,
        Q1.vlf_status,
        Q1.vlf_first_lsn
    FROM 
    (
        SELECT 
            LI.*,
            is_interesting =
                IIF
                (
                    -- First & last rows have only two in frame
                    2 =
                    COUNT_BIG(*) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
                    -- Any row in frame is active
                    OR 1 =
                    MAX(CONVERT(bigint, LI.vlf_active)) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
                    1,
                    0
                )
        FROM @LogInfo AS LI
    ) AS Q1
    WHERE
        Q1.is_interesting = 1
    ORDER BY
        Q1.vlf_begin_offset;
    

    Plano de execução

    Resultados:

    vlf_begin_offset vlf_sequence_number vlf_active vlf_status vlf_first_lsn
    8192 253978 0 0 00000000:00000000:0000
    17563648 253982 0 0 00000000:00000000:0000
    34078720 253983 1 2 0003e01f:00000010:0001
    50593792 253970 0 0 00000000:00000000:0000
    954204160 0 0 0 00000000:00000000:0000

    Com registros de resumo

    É apenas um pouco mais difícil produzir o resumo dos registros ocultos mostrados na pergunta. Primeiro, precisamos de uma maneira de identificar grupos contíguos de linhas que queremos pular.

    Isso pode ser feito somando o número de linhas interessantes no quadro ordenado por deslocamento antes e incluindo a linha atual:

    SELECT
        Q1.*,
        grp = 
            SUM(Q1.is_interesting) OVER (
                ORDER BY Q1.vlf_begin_offset 
                ROWS UNBOUNDED PRECEDING)
    FROM 
    (
        SELECT 
            LI.*,
            is_interesting =
                IIF
                (
                    2 =
                    COUNT_BIG(*) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
                    OR 1 =
                    MAX(CONVERT(bigint, LI.vlf_active)) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
                    1,
                    0
                )
        FROM @LogInfo AS LI
    ) AS Q1
    ORDER BY
        Q1.vlf_begin_offset;
    

    Resultados:

    vlf_begin_offset vlf_sequence_number vlf_active vlf_status vlf_first_lsn é interessante grp
    8192 253978 0 0 00000000:00000000:0000 1 1
    262144 253979 0 0 00000000:00000000:0000 0 1
    516096 253980 0 0 00000000:00000000:0000 0 1
    770048 253977 0 0 00000000:00000000:0000 0 1
    1048576 253981 0 0 00000000:00000000:0000 0 1
    17563648 253982 0 0 00000000:00000000:0000 1 2
    34078720 253983 1 2 0003e01f:00000010:0001 1 3
    50593792 253970 0 0 00000000:00000000:0000 1 4
    67108864 253971 0 0 00000000:00000000:0000 0 4
    75497472 253972 0 0 00000000:00000000:0000 0 4
    83886080 253973 0 0 00000000:00000000:0000 0 4
    92274688 253974 0 0 00000000:00000000:0000 0 4
    100663296 253975 0 0 00000000:00000000:0000 0 4
    109051904 253976 0 0 00000000:00000000:0000 0 4
    117440512 0 0 0 00000000:00000000:0000 0 4
    236978176 0 0 0 00000000:00000000:0000 0 4
    356515840 0 0 0 00000000:00000000:0000 0 4
    476053504 0 0 0 00000000:00000000:0000 0 4
    595591168 0 0 0 00000000:00000000:0000 0 4
    715128832 0 0 0 00000000:00000000:0000 0 4
    834666496 0 0 0 00000000:00000000:0000 0 4
    954204160 0 0 0 00000000:00000000:0000 1 5

    A saída desejada não mostra dados para linhas desinteressantes, portanto, substitua-as por nulos:

    SELECT
        vlf_begin_offset = IIF(Q1.is_interesting = 1, Q1.vlf_begin_offset, NULL),
        vlf_sequence_number = IIF(Q1.is_interesting = 1, Q1.vlf_sequence_number, NULL),
        vlf_active = IIF(Q1.is_interesting = 1, Q1.vlf_active, NULL),
        vlf_status = IIF(Q1.is_interesting = 1, Q1.vlf_status, NULL),
        vlf_first_lsn = IIF(Q1.is_interesting = 1, Q1.vlf_first_lsn, NULL),
        Q1.is_interesting,
        grp = 
            SUM(Q1.is_interesting) OVER (
                ORDER BY Q1.vlf_begin_offset 
                ROWS UNBOUNDED PRECEDING)
    FROM 
    (
        SELECT 
            LI.*,
            is_interesting =
                IIF
                (
                    2 =
                    COUNT_BIG(*) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
                    OR 1 =
                    MAX(CONVERT(bigint, LI.vlf_active)) OVER (
                        ORDER BY LI.vlf_begin_offset 
                        ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
                    1,
                    0
                )
        FROM @LogInfo AS LI
    ) AS Q1
    ORDER BY
        Q1.vlf_begin_offset;
    

    Resultados:

    vlf_begin_offset vlf_sequence_number vlf_active vlf_status vlf_first_lsn é interessante grp
    8192 253978 0 0 00000000:00000000:0000 1 1
    NULO NULO NULO NULO NULO 0 1
    NULO NULO NULO NULO NULO 0 1
    NULO NULO NULO NULO NULO 0 1
    NULO NULO NULO NULO NULO 0 1
    17563648 253982 0 0 00000000:00000000:0000 1 2
    34078720 253983 1 2 0003e01f:00000010:0001 1 3
    50593792 253970 0 0 00000000:00000000:0000 1 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    NULO NULO NULO NULO NULO 0 4
    954204160 0 0 0 00000000:00000000:0000 1 5

    Todas as linhas desinteressantes que precisamos resumir agora são idênticas dentro de seus grupos. Podemos remover as duplicatas e contar as linhas usando um arquivo GROUP BY.

    Consulta final

    Os toques finais produzem o texto da coluna de deslocamento personalizado e garantem que as linhas apareçam na ordem correta:

    SELECT
        vlf_begin_offset =
            IIF
            (
                Q2.is_interesting = 1,
                CONVERT(sql_variant, Q2.vlf_begin_offset),
                CONCAT('(', COUNT_BIG(*), ' res clipped)')
            ),
        Q2.vlf_sequence_number,
        Q2.vlf_active,
        Q2.vlf_status,
        Q2.vlf_first_lsn
    FROM 
    (
        SELECT 
            vlf_begin_offset = IIF(Q1.is_interesting = 1, Q1.vlf_begin_offset, NULL),
            vlf_sequence_number = IIF(Q1.is_interesting = 1, Q1.vlf_sequence_number, NULL),
            vlf_active = IIF(Q1.is_interesting = 1, Q1.vlf_active, NULL),
            vlf_status = IIF(Q1.is_interesting = 1, Q1.vlf_status, NULL),
            vlf_first_lsn = IIF(Q1.is_interesting = 1, Q1.vlf_first_lsn, NULL),
            Q1.is_interesting,
            grp = 
                SUM(Q1.is_interesting) OVER (
                    ORDER BY Q1.vlf_begin_offset 
                    ROWS UNBOUNDED PRECEDING)
        FROM 
        (
            SELECT 
                LI.*,
                is_interesting =
                    IIF
                    (
                        2 =
                        COUNT_BIG(*) OVER (
                            ORDER BY LI.vlf_begin_offset 
                            ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING)
                        OR 1 =
                        MAX(CONVERT(bigint, LI.vlf_active)) OVER (
                            ORDER BY LI.vlf_begin_offset 
                            ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING),
                        1,
                        0
                    )
            FROM @LogInfo AS LI
        ) AS Q1
    ) AS Q2
    GROUP BY 
        Q2.vlf_begin_offset,
        Q2.vlf_sequence_number,
        Q2.vlf_active,
        Q2.vlf_status,
        Q2.vlf_first_lsn,
        Q2.is_interesting,
        Q2.grp
    ORDER BY
        Q2.grp,
        Q2.is_interesting DESC;
    

    Plano de execução resumido

    Resultados:

    vlf_begin_offset vlf_sequence_number vlf_active vlf_status vlf_first_lsn
    8192 253978 0 0 00000000:00000000:0000
    (4 res cortadas) NULO NULO NULO NULO
    17563648 253982 0 0 00000000:00000000:0000
    34078720 253983 1 2 0003e01f:00000010:0001
    50593792 253970 0 0 00000000:00000000:0000
    (13 res recortado) NULO NULO NULO NULO
    954204160 0 0 0 00000000:00000000:0000

    Substitua a única referência à variável de tabela pela chamada DMV para experimentá-la em seu servidor.

    • 2

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

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