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 <neto...@gmail.com> 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 pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral