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

Ivan Voras's questions

Martin Hope
Ivan Voras
Asked: 2020-09-29 04:32:35 +0800 CST

Como inspecionar a estrutura de uma visão no esquema de informações no PostgreSQL?

  • 1

Existe uma maneira de descobrir a estrutura de uma exibição de maneira semelhante à forma como as tabelas são descritas pelas entradas em information_schema.columns? Eu também posso usar as pg_*tabelas.

Em outras palavras, semelhante a como psqltem \dque descreve as estruturas de ambas as tabelas e visualizações, gostaria de acessar essas informações por meio de consultas SQL.

postgresql information-schema
  • 1 respostas
  • 223 Views
Martin Hope
Ivan Voras
Asked: 2019-03-08 08:42:45 +0800 CST

Restaurando tabelas PostgreSQL mais rapidamente

  • 0

Há um sistema PostgreSQL PITR rodando em um sistema bastante grande, com centenas de bancos de dados com centenas de tabelas em cada um, e estamos enfrentando problemas baseados em restrições de tempo ao tentar restaurar tabelas individuais de um único banco de dados ou um conjunto de bancos de dados . O PITR está sendo gerenciado com Barman.

Com essa configuração, precisamos restaurar um cluster inteiro (que pode conter dezenas de dbs), extrair a tabela única e restaurar os dados - o que pode levar horas.

Estatisticamente, devido ao número de dbs envolvidos e ao número de pessoas envolvidas, isso acontece com frequência suficiente para se tornar um problema.

Existem soluções mais rápidas que nos dariam recursos semelhantes ao PITR? Eu pensei em fazer pg_dumpbackups manuais para cada tabela individualmente a cada hora, mas talvez existam soluções melhores?

postgresql backup
  • 1 respostas
  • 235 Views
Martin Hope
Ivan Voras
Asked: 2018-10-27 06:45:26 +0800 CST

Como distribuir linhas com um intervalo de valores especificado?

  • 1

Eu tenho uma tabela que contém essencialmente 3 colunas: ID, FIRST, LAST. São todos inteiros.

Eu estou querendo saber se há uma maneira de usar generate_series() para obter um resultado de consulta onde para cada linha na tabela original, há muitas linhas contendo números entre FIRSTe LAST?

Por exemplo, para uma linha com dados a (42, 5, 8)saída contém linhas (42, 5), (42, 6)e (42, 7).(42, 8)

postgresql set-returning-functions
  • 2 respostas
  • 263 Views
Martin Hope
Ivan Voras
Asked: 2016-08-11 02:59:51 +0800 CST

Registrando varreduras sequenciais no PostgreSQL?

  • 1

Existe uma maneira de registrar consultas que usam varreduras sequenciais no PostgreSQL? Ou apenas registre tudo e depois grep para seqscans?

postgresql performance
  • 2 respostas
  • 930 Views
Martin Hope
Ivan Voras
Asked: 2016-01-12 11:35:28 +0800 CST

No PostgreSQL, o VACUUM redefinirá a contagem de tuplas mortas (n_dead_tup em pg_stat_all_tables)?

  • 1

No PostgreSQL, o VACUUM redefinirá a contagem de tuplas mortas (n_dead_tup em pg_stat_all_tables)?

A situação que estou vendo é que o vácuo aparentemente está sendo executado manualmente, uma vez por dia, e os dados n_dead_tup / n_live_tup mostram que há um número grande e crescente de tuplas mortas.

PostgreSQL 9.3 aqui.

postgresql vacuum
  • 1 respostas
  • 1783 Views
Martin Hope
Ivan Voras
Asked: 2015-12-17 12:59:39 +0800 CST

O PostgreSQL requer "GROUP BY" ao criar um alias para uma tabela?

  • 3

Aqui está algo estranho: há uma grande tabela chamada "products" que é particionada com herança de forma que haja dois filhos: products_active e products_inactive, e a restrição é que em products_active, status=1, e products_inactive obtenham todos os outros status.

Há uma grande consulta que une várias tabelas, das quais esta é a primeira parte:

SELECT
  products.id, products.status, products.brand_id, products.name, products.description, products.data, products.website,
  products.packaging, products.container, products.country_of_origin, products.category_id, products.product_type_id, products.tsv_keywords,
  COUNT(prices.id) as prices_count,
  ROUND(AVG(currency_convert(prices.amount,currencies.currency_code,'USD')),2) as avg_price,
  ROUND(MAX(currency_convert(prices.amount,currencies.currency_code,'USD')),2) as high_price,
  ROUND(MIN(currency_convert(prices.amount,currencies.currency_code,'USD')),2) as low_price,
  ts_rank(tsv_keywords, plainto_tsquery('merlot')) as rank,
  ROUND(AVG(ST_Distance(ST_GeographyFromText('SRID=4326;POINT(0.001 0.001)'),ST_GeographyFromText('SRID=4326;POINT(' || stores.longitude || ' ' || stores.latitude || ')')))) AS distance
FROM
  products
  JOIN product_types ON products.product_type_id = product_types.id
  JOIN categories ON products.category_id = categories.id
  JOIN prices ON prices.product_id = products.id 
  JOIN currencies ON prices.currency_id = currencies.id
  JOIN stores ON prices.store_id = stores.id
  JOIN brands ON products.brand_id = brands.id
  JOIN merchants ON stores.merchant_id = merchants.id
  JOIN manufacturers ON brands.manufacturer_id = manufacturers.id
, delivery_zones
WHERE ...

(consulta completa aqui: http://pastebin.com/VjJPTQWj )

O problema é: observe a FROM products...parte, se eu substituir isso por FROM products_active AS products, a consulta dá erro com:

ERROR:  column "products.status" must appear in the GROUP BY clause or be used in an aggregate function
LINE 2:   products.id, products.status, products.brand_id, products....

As duas tabelas (products e products_active) possuem estruturas idênticas! Eles são herdados um do outro!

Estou perdendo uma sutileza em nomes de tabelas de alias?

postgresql alias
  • 2 respostas
  • 1713 Views
Martin Hope
Ivan Voras
Asked: 2015-09-29 09:51:16 +0800 CST

PostgreSQL SQL: atualizando resumos

  • 0

Estou tentando otimizar uma consulta como:

UPDATE master SET count =
   (SELECT COUNT(*) FROM detail WHERE detail.master_id=master.id)

Onde a tabela principal é grande, executar isso resulta em uma enorme varredura sequencial. Por outro lado, essa contagem não muda com tanta frequência, então minha ideia é reescrever assim:

UPDATE master SET count =
   (SELECT COUNT(*) FROM detail WHERE detail.master_id=master.id)
   WHERE count !=
     (SELECT COUNT(*) FROM detail WHERE detail.master_id=master.id)

EXPLAIN me diz que isso resulta em dois subplanos, o que eu esperaria. Existe uma maneira de evitar os dois subplanos executados?

Uma tentativa de reescrever o acima como

UPDATE master SET count =
   (SELECT COUNT(*) FROM detail WHERE detail.master_id=master.id) AS cnt
   WHERE count != cnt

falha com erro de sintaxe em "AS".

postgresql update
  • 1 respostas
  • 28 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