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 / dba / 问题

All perguntas(dba)

Martin Hope
Basil Bourque
Asked: 2018-04-15 12:51:49 +0800 CST

pgAdmin 4 versão 3 não abre uma segunda vez

  • 38

Acabei de instalar o pgAdmin 4 versão 3.0.0 para macOS Sierra , substituindo o pgAdmin que acompanha o Postgres 10.3 rodando localmente no mesmo Mac.

Abri o pgAdmin 4.appícone do aplicativo, o que fez com que o navegador Safari viesse à frente com uma guia mostrando a interface de usuário pgAdmin usual. Bom.

Fechei essa guia no Safari. Agora, quando abro o pgAdmin 4.appícone (clicando duas vezes ou escolhendo File> Open), nada acontece.

O pgAdmin deve ser iniciado em uma janela do navegador e não na própria janela do aplicativo?

➡ Como reabrir o pgAdmin novamente?

pgadmin mac-os-x
  • 3 respostas
  • 44353 Views
Martin Hope
Brent Ozar
Asked: 2017-10-04 06:47:30 +0800 CST

Como você cria uma exibição com SNAPSHOT_MATERIALIZATION no SQL Server 2017?

  • 38

O SQL Server 2017 tem alguns novos procedimentos armazenados:

  • sp_refresh_single_snapshot_view – parâmetro de entrada para @view_name nvarchar(261), @rgCode int
  • sp_refresh_snapshot_views – parâmetro de entrada para @rgCode int

E novas entradas em sys.messages:

  • 10149 – O índice que tem SNAPSHOT_MATERIALIZATION não pode ser criado na exibição '%.*ls' porque a definição da exibição contém tabelas com otimização de memória.
  • 10642 – SNAPSHOT_MATERIALIZATION não pode ser definido para o índice '%.*ls' em '%.*ls' porque só é aplicável a índices em exibições.
  • 10643 – SNAPSHOT_MATERIALIZATION não pode ser definido para '%.*ls' em '%.*ls' porque é aplicável apenas a índices clusterizados em exibições.
  • 10648 – SNAPSHOT_MATERIALIZATION não pode ser definido para o índice particionado '%.*ls' em '%.*ls'.
  • 10649 – O índice não clusterizado '%.*ls' não pode ser criado em '%.*ls' que tenha o índice clusterizado '%.*ls' com SNAPSHOT_MATERIALIZATION.
  • 10650 – A atualização de visualizações de instantâneos requer que o isolamento de instantâneos seja habilitado no banco de dados.
  • 3760 – Não é possível descartar o índice '%.*ls' na exibição '%.*ls' que possui SNAPSHOT_MATERIALIZATION.
  • 4524 – Não é possível alterar a visualização '%.*ls' porque possui materialização de instantâneo.
  • 4525 – Não é possível usar a dica '%ls' na exibição '%.*ls' que tem materialização de instantâneo antes que a exibição seja atualizada.

E novos Eventos Estendidos:

Eventos estendidos da visualização de instantâneo

Então, como podemos criar uma visão materializada por instantâneo? (A Microsoft ainda não documentou isso, obviamente.) Aqui está um resumo das coisas que tentei até agora que não funcionaram.

sql-server materialized-view
  • 1 respostas
  • 5505 Views
Martin Hope
Gregoire D.
Asked: 2015-03-11 07:33:54 +0800 CST

Qual é o impacto do LC_CTYPE em um banco de dados PostgreSQL?

  • 38

Então, eu tenho poucos servidores Debian com PostgreSQL nele. Historicamente, esses servidores e o PostgreSQL são localizados com o conjunto de caracteres Latin 9 e naquela época estava tudo bem. Agora temos que lidar com coisas como polonês, grego ou chinês, então mudá-lo se tornou um problema crescente.

Quando tentei criar um banco de dados UTF8, recebi a mensagem:

ERRO: a codificação UTF8 não corresponde à localidade fr_FR Detalhe: A configuração LC_CTYPE escolhida requer a codificação LATIN9.

Poucas vezes fiz uma pesquisa sobre o assunto com meu velho amigo Google, e tudo que encontrei foram alguns procedimentos supercomplicados como atualizar o Debian LANG, recompilar o PostgreSQL com o charset correto, editar todas as LC_variáveis ​​do sistema e outras soluções obscuras. Então, por enquanto, deixamos essa questão de lado.

Recentemente, voltou novamente, os gregos querem as coisas e o latim 9 não quer. E enquanto eu estava analisando essa questão novamente, um colega veio até mim e disse: “Não, é fácil, olhe”.

Ele não editou nada, não fez truques de mágica, ele apenas fez esta consulta SQL:

CREATE DATABASE my_utf8_db
  WITH ENCODING='UTF8'
       OWNER=admin
       TEMPLATE=template0
       LC_COLLATE='C'
       LC_CTYPE='C'
       CONNECTION LIMIT=-1
       TABLESPACE=pg_default;

E funcionou bem.

Na verdade, eu não sabia LC_CTYPE='C'e fiquei surpreso que usar isso não estivesse nas primeiras soluções do Google e até mesmo no Stack Overflow. Olhei em volta e só encontrei uma menção na documentação do PostgreSQL.

Quando LC_CTYPE é C ou POSIX, qualquer conjunto de caracteres é permitido, mas para outras configurações de LC_CTYPE existe apenas um conjunto de caracteres que funcionará corretamente. Como a configuração LC_CTYPE é congelada pelo initdb, a aparente flexibilidade para usar diferentes codificações em diferentes bancos de dados de um cluster é mais teórica do que real, exceto quando você seleciona a localidade C ou POSIX (desativando assim qualquer reconhecimento de localidade real).

Então isso me fez pensar, isso é muito fácil, muito perfeito, quais são as desvantagens? E eu tenho dificuldade em encontrar uma resposta ainda. Então vou postar aqui:

tl; dr: Quais são as desvantagens de usar LC_CTYPE='C'em uma localização específica? É ruim fazer isso? O que devo esperar para quebrar?

postgresql collation
  • 2 respostas
  • 27433 Views
Martin Hope
AliBZ
Asked: 2015-02-03 13:30:49 +0800 CST

Postgres várias colunas para json

  • 38

Estou executando o postgresql 9.3.4. Tenho uma tabela com 3 campos:

id   name  addr
---  ----  ----
1    n1    ad1
2    n2    ad2
...

Eu preciso mover os dados para uma nova tabela com campos como:

id   data
---  ----
1    {'name': 'n1', 'addr': 'ad1'}
2    {'name': 'n2', 'addr': 'ad2'}
...

row_to_jsonnão é a solução para mim, pois SELECT t.id, row_to_json(t) as data FROM (select id, name, addr from myt) tcontribui idpara o resultado também. Existe uma maneira de escolher os campos que preciso (nome e endereço) no meu campo de dados?

postgresql json
  • 2 respostas
  • 62327 Views
Martin Hope
KSletmoe
Asked: 2015-01-27 18:02:33 +0800 CST

pg_restore: [archiver (db)] não pôde executar a consulta: ERRO: o esquema "público" já existe

  • 38

Estou usando pg_dump / pg_restore para fazer backup e restaurar um banco de dados PostgreSQL, mas estou recebendo algumas mensagens de erro (e um status de saída diferente de zero) do pg_restore. Eu tentei um caso base super simples (descrito abaixo), mas ainda recebi esses erros:

pg_restore: [archiver (db)] Erro ao PROCESSAR TOC:
pg_restore: [archiver (db)] Erro da entrada 5 do TOC; 2615 2200 SCHEMA postgres público
pg_restore: [archiver (db)] não pôde executar a consulta: ERRO: o esquema "público" já existe
    O comando era: CREATE SCHEMA public;

Passos para reproduzir:

  1. Instale uma nova distribuição do Ubuntu 14.04 (estou usando o Vagrant com esta caixa do Vagrant ).
  2. Instale o PostgreSQL 9.3, configure para permitir conexões locais como usuário PostgreSQL "postgres" de qualquer usuário Linux.
  3. Crie um banco de dados de teste. Estou apenas fazendo:

    vagrant@vagrant-ubuntu-trusty-64:~$ psql --username=postgres postgres
    psql (9.3.5)
    Digite "ajuda" para obter ajuda.
    
    postgres=# cria banco de dados mydb;
    CRIAR BANCO DE DADOS
    postgres=# \q
    vagrant@vagrant-ubuntu-trusty-64:~$ psql --username=postgres mydb
    psql (9.3.5)
    Digite "ajuda" para obter ajuda.
    
    mydb=# cria dados da tabela(entry bigint);
    CRIAR A TABELA
    mydb=# inserir em valores de dados(1);
    INSERIR 0 1
    mydb=# inserir em valores de dados(2);
    INSERIR 0 1
    mydb=# inserir em valores de dados(3);
    INSERIR 0 1
    meudb=# \q
    
  4. Crie um backup do banco de dados assim:

    PGPASSWORD="postgres" pg_dump --dbname=mydb --username=postgres --format=custom > pg_backup.dump
  5. Exclua algumas linhas da tabela de dados em mydb para que possamos saber se restauramos os dados com sucesso.

  6. Restaure o banco de dados com:

    PGPASSWORD="postgres" pg_restore --clean --create --dbname=postgres --username=postgres pg_backup.dump

Os dados são restaurados, mas o comando pg_restore na etapa 6 sai com status 1e mostra a seguinte saída:

pg_restore: [archiver (db)] Erro ao PROCESSAR TOC:
pg_restore: [archiver (db)] Erro da entrada 5 do TOC; 2615 2200 SCHEMA postgres público
pg_restore: [archiver (db)] não pôde executar a consulta: ERRO: o esquema "público" já existe
    O comando era: CREATE SCHEMA public;



AVISO: erros ignorados na restauração: 1

Não posso simplesmente ignorar isso porque estou executando esse comando programaticamente e preciso usar o status de saída para determinar se a restauração falhou ou não. Inicialmente, me perguntei se esse problema era porque coloquei meu banco de dados em público (o esquema padrão). Eu raciocinei que public seria criado como resultado da --createopção por pg_restore antes que os dados fossem restaurados (o que poderia tentar criar esse esquema também, já que é onde está minha tabela), mas quando tentei as etapas acima com minha tabela em um esquema diferente, os resultados foram os mesmos e as mensagens de erro foram idênticas.

Estou fazendo algo errado? Por que estou vendo esse erro?

postgresql backup
  • 6 respostas
  • 87977 Views
Martin Hope
Ben Durkin
Asked: 2014-08-30 06:18:54 +0800 CST

Management Studio System.OutOfMemoryException

  • 38

Estou usando o Microsoft SQL Server 2012 e tentando executar uma consulta simples nele no Management Studio. Estou recebendo o seguinte erro (no SSMS, em execução no servidor):

Ocorreu um erro ao executar o lote. A mensagem de erro é: Exceção do tipo 'System.OutOfMemoryException' foi lançada.

O sistema tem 24 GB de RAM instalados, mas olhando no gerenciador de tarefas o processo sqlservr.exe está usando apenas 2,9 GB.

Existe uma configuração em algum lugar que está restringindo seu uso de RAM?

sql-server sql-server-2012
  • 6 respostas
  • 156450 Views
Martin Hope
TheIdiot
Asked: 2014-03-02 07:29:32 +0800 CST

GO Após cada instrução T-SQL

  • 38

Qual é o raciocínio por trás do uso da instrução GO após cada instrução SQL? Entendo que o GO sinaliza o fim do lote e/ou permite a reputação das declarações, mas qual a vantagem de usá-lo após cada declaração.

Estou apenas curioso, pois muita documentação da Microsoft etc. começou a usá-lo após cada declaração ou talvez eu tenha começado a notar.

Além disso, o que é considerado a melhor prática?

sql-server performance
  • 1 respostas
  • 32193 Views
Martin Hope
Tom Ellis
Asked: 2014-01-16 09:15:15 +0800 CST

Posso fornecer um padrão para uma junção externa esquerda?

  • 38

Suponha que eu tenha as tabelas a (com coluna a1) e b (com colunas b1 e b2) e execute uma junção externa esquerda

SELECT *
FROM a LEFT OUTER JOIN b
ON a.a1 = b.b1

Então b1 e b2 serão NULL onde um valor de a1 não tem valor correspondente de b1.

Posso fornecer um valor padrão para b2, em vez de NULL? Observe que COALESCE não funcionará aqui, porque não quero que o valor padrão substitua NULLs em potencial em b2, onde há um valor de b1 correspondente a a1.

Ou seja, com a e b como

CREATE TABLE a (a1)
  AS VALUES (1),
            (2),
            (3) ;

CREATE TABLE b (b1,b2)
  AS VALUES (1, 10),
            (3, null) ;


a1     b1 | b2
---    --------
 1      1 | 10
 2      3 | NULL
 3

e um padrão para b2 de, digamos, 100, quero obter o resultado

a1 | b1   | b2
---------------
1  |  1   | 10
2  | NULL | 100
3  |  3   | NULL

Neste caso simples, eu poderia fazê-lo "manualmente", verificando se b1 é NULL na saída. Essa é a melhor opção em geral, ou existe uma maneira mais padrão e mais limpa?

postgresql join
  • 5 respostas
  • 85005 Views
Martin Hope
Xianlin
Asked: 2013-11-27 19:01:02 +0800 CST

A função Postgres atribui resultados de consulta a várias variáveis

  • 38

Eu preciso atribuir valores a 2 variáveis ​​como abaixo na função Postgres.

a := select col1 from tbl where ...
b := select col2 from tbl where ...

Como posso atribuir 2 valores a 2 variáveis ​​em um comando de linha?

Curti

a,b := select col1,col2 from tbl where ...
postgresql functions
  • 1 respostas
  • 76569 Views
Martin Hope
Riedsio
Asked: 2011-01-05 10:17:50 +0800 CST

Como você ajusta o MySQL para uma carga de trabalho pesada do InnoDB?

  • 39

Assumindo um sistema OLTP de produção com tabelas predominantemente InnoDB

  • Quais são os sintomas comuns de um sistema desajustado/configurado?
  • Quais parâmetros de configuração você mais altera de seus padrões?
  • Como você identifica possíveis gargalos antes que haja um problema?
  • Como você reconhece e soluciona problemas ativos?

Quaisquer anedotas detalhando statusvariáveis ​​e diagnósticos específicos seriam apreciadas.

mysql performance
  • 5 respostas
  • 69523 Views
Prev
Próximo

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