Então, eu construí o PostgreSQL com a extensão citus no docker. Eu uso a documentação oficial em citus, então executo este comando no terminal.
docker run -d -v /root/volumes/citus-data:/data --network citus-network --name citus_coordinator -p 5500:5432 -e POSTGRES_PASSWORD=mypassword citusdata/citus:11.1
Em seguida, o banco de dados está sendo construído com sucesso. Mas eu quero criar a pg_stat_statements
extensão. Eu configuro o postgresql.conf
arquivo.
shared_preload_libraries = 'pg_stat_statements'
pg_stat_statements.track = all
pg_stat_statements.max = 10000
track_activity_query_size = 2048
Então reiniciei o container PostgreSQL. Escreveu esta consulta
SELECT * FROM pg_stat_statements;
em terminais. eu vi esse erro
[55000] ERROR: pg_stat_statements must be loaded via shared_preload_libraries
Não entendi, porque o arquivo de configuração não viu essa extensão, qual foi o meu erro?
Resolvido
estou executando o container PostgreSQL com postgres:latest image. Então eu entrei no recipiente. Então, eu instalei o citus daqui no container. Em seguida, instalado apt-get install postgresql-contrib
no container.Próximo passo, execute create extension pg_stat_statements;
E tudo funcionou para mim.
Ambos
citus
epg_stat_statements
devem estar presentes emshared_preload_libraries
:shared_preload_libraries = 'citus, pg_stat_statements'
Documentos
Você precisa reiniciar o Postgresql Server para carregar a biblioteca compartilhada
e depois executar
CRIAR EXTENSÃO pg_stat_statements;
Antes que você possa usá-lo.