Re: Travamento na criação de ín dices

Neto pr <[email protected]>
Newsgroups gmane.comp.db.postgresql.brasil
Message-ID <CA+wPC0NmfjdPLcMPOp+AF3+rAkfmBx3xoYYcwBUMk29GuK1xrw__41360.8407056474$1507731926$gmane$org@mail.gmail.com>
Ola Pessoal

Ainda estou com o problema de travamento na criacão de índices. Mas somente
quando são razoavelmente grandes.

Neste momento existe um índice sendo criado na tabela Lineitem (+- 10 Gb),
e aparentemente está travado, pois iniciou-se a 7 horas atrás.
Eu consultei a tabela pg_locks e olha o resultado, está com bloqueio
ShareLock = true, que a principio é o correto para create index.
Mas nao sei se quem obteve o bloqueio da tabela Lineitem, foi o comando
Create Index, mas como só tem essa aplicacão rodando, é quase certeza que
sim.

Antes de criar o índice, eu deveria definir o tipo de bloqueio de transacão
explicito?
Qualquer dica é bem vinda.

------------------------------------------------------------
-------------------------------
SELECT
      L.mode, c.relname, locktype,  l.GRANTED, l.transactionid,
virtualtransaction
FROM   pg_locks l, pg_class   c
where  c.oid = l.relation

-------------- RESULT ------------------------------
--------------------------------
AccessShareLock pg_class_tblspc_relfilenode_index relation TRUE (null) 3/71
AccessShareLock pg_class_relname_nsp_index relation TRUE (null) 3/71
AccessShareLock pg_class_oid_index relation TRUE (null) 3/71
AccessShareLock pg_class relation TRUE (null) 3/71
AccessShareLock pg_locks relation TRUE (null) 3/71
ShareLock lineitem relation TRUE (null) 21/3769

>

Em 10 de outubro de 2017 09:25, Neto pr <[email protected]> escreveu:

> Olá pessoal
>
> Meu cenário é: postgresql 10, Processador Xeon 2.8GHz/4-core- 8gb Ram, SO
> Debian 8.
>
> Ao criar indices em uma tabela de +- 10GB de dados o SGBD trava (eu acho),
> pois mesmo depois de esperar 10 horas não houve retorno do comando.
> Aconteceu criando índices Hash e índices B+ tree. No entanto, para algumas
> colunas, foi com sucesso (L_RETURNFLAG, L_PARTKEY).
> O ambiente de dados que estou me referindo é a tabela LINEITEM (benchmark
> TPC-H) do link [1] abaixo. As colunas/indices que travaram na criação
> foram:
> * Índice Hash em: L_TAX
> ( Índice Btree em: L_RECEIPTDATE.
>
> Se alguém tiver uma dica de como proceder para agilizar a criação de
> índices, de forma que seja concluído com sucesso. Sei que o PostgreSQL 10
> tem alguns recursos de paralelismo e como meu servidor é dedicado somente
> para o SGBD, será que alterar os parâmetros: force_parallel_mode,
> max_parallel_workers_per_gather poderia agilizar a criação de índices em
> tabelas grandes?
> Qualquer dica é bem vinda.
>
> DDL TABELA:
> CREATE TABLE LINEITEM (
> L_ORDERKEY BIGINT NOT NULL, -- references O_ORDERKEY
> L_PARTKEY BIGINT NOT NULL, -- references P_PARTKEY (compound fk to
> PARTSUPP)
> L_SUPPKEY BIGINT NOT NULL, -- references S_SUPPKEY (compound fk to
> PARTSUPP)
> L_LINENUMBER INTEGER,
> L_QUANTITY DECIMAL,
> L_EXTENDEDPRICE DECIMAL,
> L_DISCOUNT DECIMAL,
> L_TAX DECIMAL,
> L_RETURNFLAG CHAR(1),
> L_LINESTATUS CHAR(1),
> L_SHIPDATE DATE,
> L_COMMITDATE DATE,
> L_RECEIPTDATE DATE,
> L_SHIPINSTRUCT CHAR(25),
> L_SHIPMODE CHAR(10),
> L_COMMENT VARCHAR(44),
>         PRIMARY KEY (L_ORDERKEY, L_LINENUMBER)
> 1- http://kejser.org/wp-content/uploads/2014/06/image_thumb2.png
>
> []'s Neto
>
>
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Livre
> de vírus. www.avast.com
> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>.
> <#m_1708445859716377615_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.