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

Sheikh Wasiu Al Hasib's questions

Martin Hope
Sheikh Wasiu Al Hasib
Asked: 2023-09-14 02:47:49 +0800 CST

Por que o diretório pg_wal contém um arquivo WAL de 16 MB das últimas 24 horas no PostgreSQL13?

  • 5

No meu diretório PostgreSQL pg_wal, o total de segmentos wal soma cerca de 200 GB, onde max_wal_size 8 GB.

Arquivamos o arquivo WAL no local desejado usando archive_command , mas o arquivo wal não foi removido do diretório pg_wal, não sei por quê?

Eu tenho um cluster de banco de dados de 3 nós mantido pelo pgpool. Onde o node3 está inativo por algum motivo. Por causa disso, o slot de replicação não está ativo. Aqui node1 é primário e node2 é o nó de espera que está funcionando bem e o slot de replicação está ativo.

Basicamente, quero saber por que o PostgreSQL não está removendo os arquivos WAL do diretório pg_wal? E como resolver isso?

Presumo que ele esteja mantendo esses arquivos WAL por causa do slot de replicação do node3 que não está ativo.

Se eu estiver certo, o que devo fazer neste caso? Devo excluir esse slot de replicação do node3 para resolver esse problema.

Nota: não quero recuperar esse node3 agora.

postgresql
  • 1 respostas
  • 21 Views
Martin Hope
Sheikh Wasiu Al Hasib
Asked: 2023-08-18 04:45:26 +0800 CST

Não é possível SWITCH IN uma tabela particionada

  • 5

Eu criei duas tabelas, uma é OrdersLatest e outra é OrdersMarch . Quero mudar os dados da tabela particionada para a tabela intermediária ( OrdersMarch ) no mesmo grupo de arquivos e vice-versa.

Estava funcionando bem para desligar, mas problema ao ligar. Meu caso SWITCH IN não funciona

Ele mostra o erro abaixo, que indica uma incompatibilidade de restrição entre a tabela de origem e de destino ( OrdersMarch ). Não tenho certeza do que devo alterar para resolver esse erro.

Eu verifiquei a partição esquerda e direita, mas o problema é o mesmo. Defino restrições na tabela intermediária ( OrdersMarch ) na coluna particionada também, mas o erro é o mesmo. Qualquer um pode resolver esse problema, onde está o problema exato?

A instrução ALTER TABLE SWITCH falhou. Verifique restrições ou função de partição da tabela de origem 'TEST.dbo.OrdersMarch' permite valores que não são permitidos por restrições de verificação ou função de partição na tabela de destino 'TEST.dbo.OrdersLatest'.

função de partição

CREATE PARTITION FUNCTION OrdersLatestPartitionFunction (datetime)  
    AS RANGE RIGHT FOR VALUES (
        '20180101', 
        '20190101',
        '20200101'
    );
GO

Esquema de Partição

CREATE PARTITION SCHEME OrdersLatestPartitionScheme
    AS PARTITION OrdersLatestPartitionFunction  
    TO (
        OrdersLatestFg1,
        OrdersLatestFg2,
        OrdersLatestFg3,
        OrdersLatestFg4
        );  
GO

Criar a tabela

CREATE TABLE OrdersLatest (
    OrderDate date NOT NULL,
    OrderId int IDENTITY NOT NULL,
    OrderDesc varchar(255) NOT NULL,
    CONSTRAINT PKOrdersLatest PRIMARY KEY CLUSTERED(OrderDate, OrderId)
    )  
    ON OrdersLatestPartitionScheme(OrderDate);  
GO

Alternar tabela de destino

CREATE TABLE OrdersMarch (
    OrderDate date NOT NULL,
    OrderId int IDENTITY NOT NULL,
    OrderDesc varchar(255) NOT NULL,
    CONSTRAINT PKOrdersMarch PRIMARY KEY CLUSTERED(OrderDate, OrderId)
    )
    ON OrdersLatestFg3;
GO

Inserção de dados

INSERT INTO OrdersLatest(OrderDate, OrderDesc) VALUES
    ('20190302', 'Cat food'),
    ('20190315', 'Water bowl'),
    ('20190318', 'Saddle for camel'),
    ('20190321', 'Dog biscuits'),
    ('20190328', 'Bigfoot shoes');
GO

Saída Após a Inserção

+-------------+-----------------+--------+
| Partition   | Filegroup       | Rows   |
|-------------+-----------------+--------|
| 1           | OrdersLatestFg1 | 0      |
| 2           | OrdersLatestFg2 | 0      |
| 3           | OrdersLatestFg3 | 5      |
| 4           | OrdersLatestFg4 | 0      |
+-------------+-----------------+--------+

Troque

ALTER TABLE OrdersLatest SWITCH PARTITION 3 TO OrdersMarch;

Saída Após Interruptor

+-------------+-----------------+--------+
| Partition   | Filegroup       | Rows   |
|-------------+-----------------+--------|
| 1           | OrdersLatestFg1 | 0      |
| 2           | OrdersLatestFg2 | 0      |
| 3           | OrdersLatestFg3 | 0      |
| 4           | OrdersLatestFg4 | 0      |
+-------------+-----------------+--------+

Alternar em

ALTER TABLE OrdersMarch SWITCH TO OrdersLatest PARTITION 3; 

A instrução ALTER TABLE SWITCH falhou. Verifique restrições ou função de partição da tabela de origem 'TEST.dbo.OrdersMarch' permite valores que não são permitidos por restrições de verificação ou função de partição na tabela de destino 'TEST.dbo.OrdersLatest'.

sql-server
  • 1 respostas
  • 40 Views
Martin Hope
Sheikh Wasiu Al Hasib
Asked: 2022-09-26 21:30:48 +0800 CST

Existe algum impacto no banco de dados PostgreSQL para executar o AUTO VACUUM com frequência?

  • 0

Eu tenho 10-15 mesa grande, 5GB a 30GB. E o resto deles menos de 1GB. Alguns dados de tabelas são enormes e onde diariamente são geradas 500.000 tuplas mortas. E o autovacuum começa quase 7 dias depois, quando as tuplas mortas são mais de 3,5 milhões. Este banco de dados possui cerca de 60 tabelas. Aqui o limite para o banco de dados é: 20%.

Quero alterar o limite de autovacuum de 20% para 1%. Existe algum impacto no desempenho do sistema (já que para tabelas menores ele será executado com frequência). Qual deve ser o valor do parâmetro maintanance_work_mem & work_mem para isso?

postgresql postgresql-performance
  • 1 respostas
  • 46 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