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

FallenAngel's questions

Martin Hope
FallenAngel
Asked: 2019-10-24 03:40:46 +0800 CST

Criar sequência com base no valor de outra coluna

  • 1

Eu tenho que criar números de sequência com base no usuário relacionado. Curti:

╔════════════╦═════════════╦═══════════════════╗
║ Row Id     ║ User Id     ║ Sequence Number   ║
╠════════════╬═════════════╬═══════════════════╣
║ 1          ║ 1           ║         1         ║
║ 2          ║ 1           ║         2         ║
║ 3          ║ 2           ║         1         ║
║ 4          ║ 2           ║         2         ║
║ 5          ║ 3           ║         1         ║
║ 6          ║ 1           ║         3         ║
╚════════════╩═════════════╩═══════════════════╝

Tenho alguns pré-requisitos:

  • Cada número de seqüência deve estar entre 1 e 9999. Após 9999, deve saltar para 1 e continuar a partir daí. (propriedade CICLO da Sequência)
  • Os números de sequência devem ser gerados com base no ID do usuário. Cada UserId deve ter sua própria sequência.
  • Os números de sequência devem ser sequenciais. tal que para o ID de usuário 5: Sequência # 123 deve ser seguida por 124, salto ou reutilização de um número não deve acontecer.

Então, usar uma sequência parece muito certo para mim. Mas não consegui adicionar distinção de ID de usuário à sequência.

CREATE SEQUENCE [dbo].[seq_SequenceNumber] 
AS [smallint]
START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 9999
CYCLE 
NO CACHE  

Como posso adicionar a partição UserId a essa sequência?

sql-server sequence
  • 1 respostas
  • 3468 Views
Martin Hope
FallenAngel
Asked: 2014-04-10 06:02:35 +0800 CST

a configuração log_min_duration_statement é ignorada

  • 22

Estou rodando Postgresql 9.1no Ubuntu. A versão exata do Postgresql é 9.1+129ubuntu1como mostra meu gerenciador de pacotes.

Eu tenho 2 bancos de dados que estão ativamente em uso e são usados ​​de um servidor remoto.

Desejo registrar consultas que tenham um longo tempo de execução. Então eu defino os seguintes parâmetros no /etc/postgresql/9.1/main/postgresql.confarquivo

log_min_duration_statement = 10000
log_statement = 'mod'

portanto, o Postgresql registrará consultas que demoram mais de 10 segundos.

Mas quando faço reloada configuração do postgres, o Postgresql começa a registrar todas as consultas que se ajustam ao log_statementvalor. Que defino a duração para 100 segundos para ter certeza

log_min_duration_statement = 100000

Mas o Postgresql continua registrando todas as consultas que correspondem ao log_statementvalor, independentemente do log_min_duration_statementvalor.

Definir log_statementcomo noneparecia interromper o registro.

Há algo que eu perdi sobre a configuração?

postgresql postgresql-9.1
  • 1 respostas
  • 21669 Views
Martin Hope
FallenAngel
Asked: 2013-07-20 08:01:45 +0800 CST

Método de indexação para poucas atualizações e muitas inserções

  • 3

Estou usando Postgresql 9.1 com extensão *pg_trgm*. Eu preciso criar um índice em um campo baseado em texto. Não preciso de pesquisas de texto completo, uso ILIKEconsultas para fazer minhas pesquisas.

Vou usar, pg_trgmmas não tenho muita experiência com índices gine . gistTerei muitas INSERTdeclarações (~15.000 diariamente) e muito poucas UPDATEdeclarações (pode ser 1 ou 2 em uma semana).

Qual será a sobrecarga de atualização de índice para um giníndice em tal tabela? Ou é gistmais adequado?

postgresql index
  • 1 respostas
  • 929 Views
Martin Hope
FallenAngel
Asked: 2013-04-21 00:01:24 +0800 CST

Criando sequência para valores numéricos mais longos

  • 7

Preciso criar um database modelque inclua um campo para armazenar valores exclusivos de 20 dígitos. Que será usado por muitos clientes em uma API.

O valor deve ter 20 dígitos, ser numérico e exclusivo. A melhor abordagem parecia criar um big-intcampo de incremento automático, mas big-int suporta valores de até 9223372036854775807 (19 dígitos). Usar numeric(20,0)é inútil, pois embora o numérico suporte valores maiores, o Postgres 8.4 não me permite criar um sequencee gera erro

CREATE SEQUENCE my_sequence_name INCREMENT BY 1 NO MINVALUE NO MAXVALUE START WITH 10000000000000000101;

ERRO: o valor "10000000000000000101" está fora do intervalo para o tipo bigint

Para integridade dos dados, devo lidar com isso no POstgresql. Qual é a maneira eficiente de lidar com isso?

Estou usando Postgresql 8.4 e Django 1.3

ATUALIZAÇÃO: Acho melhor fazer um esclarecimento... Estou tentando achar uma forma de resolver isso dentro do SGBD. Portanto, qualquer solução que não seja de banco de dados será evitada, a menos que eu não tenha outra escolha. Descanso é o motivo da minha pergunta:

Estou fazendo uma API que se comunica com um Banco para operações 3D seguras. A API do banco exigia um identificador numérico exclusivo de 20 dígitos para a transação, então decidi criar um valor de ID que eu possa usar tanto para a API do banco quanto para minha API que usará essa tabela etc.

A declaração de 10000000000000000101é porque, a API do banco deseja que seja um valor válido de 20 dígitos integer, portanto, deve ser pelo menos 10000000000000000000.

Resolver isso dentro do DBMS é melhor para desempenho e integridade de dados. Uma ideia que pensei foi armazenar o valor como um auto-increment big-integerno campo do banco de dados e analisá-lo manualmente para string e fazer algumas configurações como:

bid = str(23434545) # value in the DB field
final_value = '1' + '0'* (19-len(bid)) + bid

que faz final_valueum inteiro de 20 dígitos que começa com 1 e termina com meu valor auto-incrementado. e o meio é preenchido com zeros.

Mas no caso de lidar com consultas SELECTe INSERT, manter a lógica fora do DBMS é baixo, tão ruim.

postgresql auto-increment
  • 2 respostas
  • 2790 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