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

Tiago Stapenhorst Martins's questions

Martin Hope
Tiago Stapenhorst
Asked: 2023-10-05 15:05:07 +0800 CST

Como ignorar todas as modificações de linha em um gatilho FOR EACH STATEMENT sem cancelar a consulta no PostgreSQL?

  • 6

Como ignorar todos os tipos de modificações (INSERT, UPDATE, DELETE)na tabela FOR EACH STATEMENT TRIGGERsem lançar/aumentar e EXCEPTIONcancelar toda a transação?

Eu sei que isso pode ser conseguido em BEFORE FOR EACH ROWgatilhos retornando NULLno final do TRIGGER FUNCTION, mas isso não funciona com FOR EACH STATEMENTschamadas de função, pois elas sempre retornam NULLe as modificações ainda são aplicadas.

(minha motivação nisso é a melhoria de desempenho, já que os gatilhos FOR EACH STATEMENT são mais leves que FOR EACH ROW)

postgresql
  • 1 respostas
  • 15 Views
Martin Hope
Tiago Stapenhorst
Asked: 2023-09-21 14:02:15 +0800 CST

Como desabilitar o gatilho de integridade referencial FOREIGN KEY no PostgreSQL sem desabilitar outros gatilhos na tabela?

  • 5

A integridade referencial de FOREIGN KEYs no PostgreSQL pode ser desabilitada executando:

ALTER TABLE schema.my_table 
DISABLE TRIGGER ALL;

Mas infelizmente o comando também desabilitará todos os outros triggers presentes na tabela.

Tentei localizar o nome da chave estrangeira à pg_constraintvista, mas usá-lo no seguinte comando retorna um erro:

ALTER TABLE schema.my_table 
DISABLE TRIGGER id_fkey;

-- Returns
-- SQL Error [42704]: ERROR: trigger "id_fkey" for table "my_table" does not exist

Como a integridade referencial pode ser desabilitada no PostgreSQL sem desabilitar outros gatilhos?

postgresql
  • 1 respostas
  • 21 Views
Martin Hope
Tiago Stapenhorst Martins
Asked: 2022-09-21 10:00:58 +0800 CST

Qual é o equivalente de LIKE com curinga no final 'abc%' usando operadores maior/menor que?

  • 1

Acabei de descobrir que alguns padrões específicos quando usados ​​com o operador de texto LIKE usam índices BTREE para acelerar as consultas, como:

  • 'abc123' (texto sem curinga)
  • 'abc%' (texto com apenas um curinga no final)

Qual é o equivalente do operador de texto LIKE usando um padrão com apenas um curinga '%'presente no final do padrão (como "a_column" LIKE 'abc%') usando apenas operadores maiores/menores/iguais?

Meu interesse é conseguir isso no PostgreSQL, mas essa pode ser uma pergunta padrão do SQL.

sql-standard postgresql
  • 2 respostas
  • 43 Views
Martin Hope
Tiago Stapenhorst Martins
Asked: 2019-10-17 14:25:52 +0800 CST

Como obter os valores mais antigos de cada id em uma tabela do PostgreSQL de forma eficiente?

  • 2

Como o PostgreSQL pode retornar uma lista dos valores de carimbo de data/hora mais antigos em uma tabela de medições de identificação do sensor?

Deixe-me explicar a situação com uma tabela de exemplo:

CREATE TABLE sensor_data(
sensor_id INTEGER,
time TIMESTAMPTZ,
value NUMERIC,
PRIMARY KEY (sensor_id, time)
)

Exemplo de tabela preenchida:

+-----------+------------------+-------+
| sensor_id |       time       | value |
+-----------+------------------+-------+
|         1 | 2018-01-01 00:00 |     1 |
|         1 | 2018-01-01 01:00 |     2 |
|         3 | 2018-01-01 03:00 |     4 |
|         3 | 2018-01-01 04:00 |     3 |
|         4 | 2018-01-01 03:00 |     5 |
|         4 | 2018-01-01 04:00 |     6 |
+-----------+------------------+-------+

Ao usar algo como sensor_id (1,3) dentro da consulta, quero que ele retorne algo assim:

+-----------+------------------+-------+
| sensor_id |       time       | value |
+-----------+------------------+-------+
|         1 | 2018-01-01 01:00 |     2 |
|         3 | 2018-01-01 04:00 |     3 |
+-----------+------------------+-------+

Como posso fazer isso em uma consulta usando o PRIMARY KEYíndice para acelerá-la?

postgresql performance
  • 2 respostas
  • 924 Views
Martin Hope
Tiago Stapenhorst Martins
Asked: 2019-07-09 12:34:37 +0800 CST

Como posso saber se meu PostgreSQL está atualizado com as regras de horário de verão?

  • 1

Recentemente (2019-04-25) o governo brasileiro encerrou o uso do horário de verão em todo o país.

Em meu projeto atual, confio no PostgreSQL para fazer conversões e análises de fuso horário com base no horário de diferentes fusos horários e datas.

No que me diz respeito, o PostgreSQL implementa o horário de verão e os fusos horários através do banco de dados Olson.

1) O PostgreSQL (versão 11, por exemplo) está atualizado com a nova regra de horário de verão no Brasil?

2) Se não estiver atualizado, como posso corrigi-lo? Existe algum calendário/programação de patch padrão do PostgreSQL nesse sentido?

postgresql timestamp
  • 2 respostas
  • 2081 Views
Martin Hope
Tiago Stapenhorst Martins
Asked: 2018-06-09 17:15:05 +0800 CST

Como criar um gráfico conectando predecessores e sucessores no tempo a partir de uma tabela de séries temporais no PostgreSQL 10?

  • 0

Tenho a seguinte tabela:

╔════╦═══════════╦═════════════════════╦═══════╗
║ id ║ sensor_id ║        time         ║ value ║
╠════╬═══════════╬═════════════════════╬═══════╣
║  1 ║         1 ║ 2018-01-01 00:00:01 ║     1 ║
║  2 ║         1 ║ 2018-01-01 00:00:02 ║     2 ║
║  3 ║         1 ║ 2018-01-01 00:00:03 ║     3 ║
║  4 ║         1 ║ 2018-01-01 00:00:03 ║     4 ║
║  5 ║         1 ║ 2018-01-01 00:00:04 ║     3 ║
║  6 ║         2 ║ 2018-01-01 00:00:01 ║     1 ║
║  7 ║         2 ║ 2018-01-01 00:00:01 ║     2 ║
║  8 ║         2 ║ 2018-01-01 00:00:02 ║     3 ║
║  9 ║         2 ║ 2018-01-01 00:00:03 ║     4 ║
║ 10 ║         2 ║ 2018-01-01 00:00:04 ║     5 ║
╚════╩═══════════╩═════════════════════╩═══════╝

CREATE TABLE sensor_time_series
(
    id SERIAL PRIMARY KEY,
    "time" TIMESTAMP NOT NULL,
    sensor_id INTEGER NOT NULL,
    value NUMERIC NOT NULL,
);

É uma tabela de séries temporais que representa o valor de um sensor em um momento específico . Sim, eu sei que é estranho que "time" não seja único dentro de cada "sensor_id", isso é um erro do dataset.

O que eu quero é fazer uma nova tabela/view com uma estrutura de gráfico, conectando cada amostra "sensor_id" ao seu sucessor em "time". A tabela deve ficar mais ou menos assim:

╔════════════╦══════════════╗
║ current_id ║ successor_id ║
╠════════════╬══════════════╣
║          1 ║           2  ║
║          2 ║           3  ║
║          2 ║           4  ║
║          3 ║           5  ║
║          4 ║           5  ║
║          6 ║           8  ║
║          7 ║           8  ║
║          8 ║           9  ║
║          9 ║          10  ║
╚════════════╩══════════════╝

CREATE TABLE sensor_time_series_graph
(
    current_id INTEGER,
    successor_id INTEGER,
    FOREIGN KEY (current_id) REFERENCES sensor_time_series(id),
    FOREIGN KEY (successor_id) REFERENCES sensor_time_series(id)
);

Ambas as colunas (current_id e successor_id) ID da FOREIGN KEY da primeira tabela Como posso criar algo assim no PostgreSQL 10?

Eu estava pesquisando as funções da janela do PostgreSQL e acho que elas podem me ajudar, mas ainda não percebi como.

postgresql graph
  • 2 respostas
  • 94 Views
Martin Hope
Tiago Stapenhorst Martins
Asked: 2014-01-14 20:58:54 +0800 CST

Como mapear palavras semelhantes em camelcase, pascalcase, sublinhado e com pontuação baixa para o mesmo id?

  • 1

Estou trabalhando no PostgreSQL e tenho uma tabela como esta chamada words_table:
Mesa de mesa

Eu preciso de todas as palavras equivalentes (como software_design e software-design) para ter seu valor de mapa = para id_word equivalente de sua palavra. Em outras palavras, quero que todas as palavras softwaredesign, software_design, software.design... e assim por diante tenham o mesmo número na coluna do mapa (neste caso específico, um número de 1 a 10). O mesmo se aplica à engenharia_civil e ao Desenho Industrial.

Eu sei que isso envolve algumas expressões regulares e comparações que não diferenciam maiúsculas de minúsculas, mas estou preso na lógica SQL. Eu sei que essas expressões podem ser úteis:

regexp_replace(word, '(\.|:|,|&|-)','','g')

Para lidar com os separadores

lower(something)

Para lidar com a correspondência de maiúsculas e minúsculas ou

UPDATE words_table SET a.map = b.id_word WHERE word ILIKE something

... WHERE word ~* something

para correspondência insensível a maiúsculas e minúsculas.

Devo criar novas colunas com palavras regexp_replaced e fazer o mapeamento depois disso com algumas junções? Ou talvez algo com CamelCase e correspondência de sublinhado? Talvez funções? Qual é a solução ótima?

postgresql update
  • 3 respostas
  • 237 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