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

Andy K's questions

Martin Hope
Andy K
Asked: 2018-02-20 06:54:21 +0800 CST

Para fazer uma atualização de um banco de dados postgres "no local" para um banco de dados postgres do azure ou fazer um backup e restauração?

  • 4

Temos um banco de dados postgres hospedado no Azure, que gostaríamos de atualizar a partir de um banco de dados postgres "no local".

Não tenho certeza, qual seria a melhor maneira de fazer isso?

Por meio de um backup incremental, depois de uma restauração incremental ou por meio de uma replicação Slony-I, embora tenha certeza de que esse recurso não existe para o Azure?

Obrigado

postgresql azure
  • 1 respostas
  • 157 Views
Martin Hope
Andy K
Asked: 2017-11-23 06:21:44 +0800 CST

definir a autenticação do Windows para postgres

  • 3

Estou tentando definir a autenticação do Windows para um servidor postgres.

O processo não está bem documentado e torna tudo obscuro.

Encontrei este documento , mas não está muito claro.

Nas etapas necessárias, o documento diz que você precisa criar um usuário de domínio. No entanto, na captura de tela, dizDomainServiceAccount

insira a descrição da imagem aqui

Depois de criar o usuário de domínio e definir seu serviço postgres com o usuário de domínio, você precisa criar um nome de princípio de serviço para sua conta de serviço com a seguinte linha de comando no servidor AD

setspn -S POSTGRES/[fully.qualified.domain.name] DOMAIN\[service_account_name]

As perguntas são as seguintes

  • é service_account_name= DomaninServiceAccount= Domain user?
  • Se minha primeira pergunta estiver correta, que eu crio um usuário chamado SuperPostgres, defino o serviço conforme mencionado no documento com o usuário SuperPostgres, que crio um SPN com a linha de comando spne defino a função relevante conforme mencionado no documento, é certo que o Postgres permitirá que um usuário do AD AndyKwse conecte ao banco de dados postgres?
postgresql windows
  • 1 respostas
  • 1921 Views
Martin Hope
Andy K
Asked: 2017-10-14 07:07:37 +0800 CST

por que a última função no msaccess me permite ignorar o grupo?

  • 3

Eu tenho a seguinte consulta no msaccess

SELECT Trim([T13_RefSupplier_France_List].[Supplier_code]) AS Supplier_code,
       Trim([T13_RefSupplier_France_List].[Art]) AS Internal_reference,
       Trim([fp_rcli]) AS Supplier_reference,
       Last(Trim([ar_fami])) AS Family_code,
       Last(Trim([fp_upri])) AS Purchasing_unit,
       Last(Nz([fp_pcde],0)) AS Purchasing_price,
       Last(Supplier_currency_France.Recode) AS Purchasing_currency,
       Last("") AS Consigned,
       Last(0) AS Eco_order_qty,
       Last(CDbl(Nz(Nz([fp_cond],[ar_qcdi]),0))) AS Pack_order_qty,
       Last(IIf([fp_minc]=0,Nz([fp_cond],[ar_qcdi]),[fp_minc])) AS Min_order_qty,
       0 AS Min_order_value,
       0 AS Product_grossweight,
       0 AS Product_grosscube,
       Last(gpfprodu_France.fp_dela) AS Leadtime_days,
       Nz([Localisation_France].[Site],"Poitiers") AS Site,
       CDbl(Nz([Active],-1)) AS Supplier_active,
       Max(IIf([ar1_pdanz]=0,NULL,[ar1_pdanz])) AS Ref_price
FROM ((T13_RefSupplier_France_List
       LEFT JOIN ((gparticl_France
                   LEFT JOIN Localisation_France ON gparticl_France.ar_loco=Localisation_France.Localisation)
                  LEFT JOIN [*gpartic1_France] ON gparticl_France.ar_code=[*gpartic1_France].ar1_code) ON T13_RefSupplier_France_List.Art=gparticl_France.ar_code)
      LEFT JOIN ((gpfprodu_France
                  LEFT JOIN gpfourni_France ON gpfprodu_France.fp_four=gpfourni_France.fo_code)
                 LEFT JOIN Supplier_currency_France ON gpfourni_France.fo_monn=Supplier_currency_France.fo_monn) ON (T13_RefSupplier_France_List.Supplier_code=gpfprodu_France.fp_four)
      AND (T13_RefSupplier_France_List.Art=gpfprodu_France.fp_arti))
LEFT JOIN T13_RefSupplier_France_SupplierActive ON (T13_RefSupplier_France_List.Art=T13_RefSupplier_France_SupplierActive.Art)
AND (T13_RefSupplier_France_List.Supplier_code=T13_RefSupplier_France_SupplierActive.Supplier_code)
GROUP BY Trim([T13_RefSupplier_France_List].[Supplier_code]),
         Trim([T13_RefSupplier_France_List].[Art]),
         Trim([fp_rcli]),
         Nz([Localisation_France].[Site],"Poitiers"),
         CDbl(Nz([Active],-1))
HAVING (((Trim(T13_RefSupplier_France_List.Supplier_code))<>"FG0002")
        AND ((Trim(T13_RefSupplier_France_List.Art))<>"A60101000000000"));

Eu posso fazer uma GROUP BYsem usar a coluna que tem a LASTfunção mas quando eu removo a função LAST, tenho que adicionar todas as colunas na GROUP BY(veja abaixo).

SELECT Trim([T13_RefSupplier_France_List].[Supplier_code]) AS Supplier_code,
       Trim([T13_RefSupplier_France_List].[Art]) AS Internal_reference,
       Trim([fp_rcli]) AS Supplier_reference,
       Trim([ar_fami]) AS Family_code,
       Trim([fp_upri]) AS Purchasing_unit,
       Nz([fp_pcde],0) AS Purchasing_price,
       Supplier_currency_France.Recode AS Purchasing_currency,
       "" AS Consigned,
       0 AS Eco_order_qty,
       CDbl(Nz(Nz([fp_cond],[ar_qcdi]),0)) AS Pack_order_qty,
       IIf([fp_minc]=0,Nz([fp_cond],[ar_qcdi]),[fp_minc]) AS Min_order_qty,
       0 AS Min_order_value,
       0 AS Product_grossweight,
       0 AS Product_grosscube,
       gpfprodu_France.fp_dela AS Leadtime_days,
       Nz([Localisation_France].[Site],"Poitiers") AS Site,
       CDbl(Nz([Active],-1)) AS Supplier_active,
       Max(IIf([ar1_pdanz]=0,NULL,[ar1_pdanz])) AS Ref_price
FROM ((T13_RefSupplier_France_List
       LEFT JOIN ((gparticl_France
                   LEFT JOIN Localisation_France ON gparticl_France.ar_loco=Localisation_France.Localisation)
                  LEFT JOIN [*gpartic1_France] ON gparticl_France.ar_code=[*gpartic1_France].ar1_code) ON T13_RefSupplier_France_List.Art=gparticl_France.ar_code)
      LEFT JOIN ((gpfprodu_France
                  LEFT JOIN gpfourni_France ON gpfprodu_France.fp_four=gpfourni_France.fo_code)
                 LEFT JOIN Supplier_currency_France ON gpfourni_France.fo_monn=Supplier_currency_France.fo_monn) ON (T13_RefSupplier_France_List.Supplier_code=gpfprodu_France.fp_four)
      AND (T13_RefSupplier_France_List.Art=gpfprodu_France.fp_arti))
LEFT JOIN T13_RefSupplier_France_SupplierActive ON (T13_RefSupplier_France_List.Art=T13_RefSupplier_France_SupplierActive.Art)
AND (T13_RefSupplier_France_List.Supplier_code=T13_RefSupplier_France_SupplierActive.Supplier_code)
GROUP BY Trim([T13_RefSupplier_France_List].[Supplier_code]),
         Trim([T13_RefSupplier_France_List].[Art]),
         Trim([fp_rcli]),
         Nz([Localisation_France].[Site],"Poitiers"),
         Trim([ar_fami]),
         Trim([fp_upri]),
         Nz([fp_pcde],0),
         Supplier_currency_France.Recode,
         "",
         0,
         CDbl(Nz(Nz([fp_cond],[ar_qcdi]),0)),
         IIf([fp_minc]=0,Nz([fp_cond],[ar_qcdi]),[fp_minc]),
         0,
         0,
         0,
         gpfprodu_France.fp_dela,
         CDbl(Nz([Active],-1))
HAVING (((Trim(T13_RefSupplier_France_List.Supplier_code))<>"FG0002")
        AND ((Trim(T13_RefSupplier_France_List.Art))<>"A60101000000000")); 

As perguntas são duplas:

  • Qual é o comportamento da LASTfunção?
  • Digamos que eu queira transpor a LASTfunção para SQLServer: O que devo fazer?

Obrigado

sql-server ms-access
  • 2 respostas
  • 139 Views
Martin Hope
Andy K
Asked: 2017-06-22 05:37:04 +0800 CST

triggers ou então entre 2 bancos de dados postgres hospedados em um datacenter diferente

  • 1

Estou tentando criar um gatilho dentro de um banco de dados Postgres RDS hospedado em Frankfurt que chamaremos de "Frankfurt". Esse gatilho pesquisará tabelas em um banco de dados Postgres RDS distante hospedado em Seul, vamos chamar esse banco de dados de "Seoul".

O banco de dados de Seul nunca terá exclusão nem atualização. Terá apenas inserção.

O objetivo desse gatilho é que cada inserção no banco de dados de Seul copie as linhas de Seul que não estão em Frankfurt para o banco de dados de Frankfurt.

CREATE OR REPLACE FUNCTION my_dml_function() RETURNS TRIGGER AS $employees$
    BEGIN
        --
        --
        IF (TG_OP = 'INSERT') THEN
            perform dblink_connect('dbname=database_seoul user=postgres password=ExtraPassword'); 
            INSERT INTO all_employees
            SELECT *
            FROM dblink('foreign_server',$RDS$
                SELECT * 
                FROM employees 
                WHERE employee_id NOT IN  (SELECT employee_id FROM all_employees)   
            $RDS$) AS t1;
        END IF;
        RETURN NULL; -- result is ignored since this is an AFTER trigger
    END;
$emp_audit$ LANGUAGE plpgsql;

CREATE TRIGGER my_dml_trigger
AFTER INSERT OR UPDATE OR DELETE ON employees
    FOR EACH ROW EXECUTE PROCEDURE my_dml_function();

Não tenho certeza se é a melhor maneira.

postgresql trigger
  • 1 respostas
  • 2283 Views
Martin Hope
Andy K
Asked: 2017-06-14 04:26:40 +0800 CST

incapaz de criar esquema no amazon rds para postgres

  • 1

Estou tentando criar um esquema em uma instância postgres localizada no Amazon rds.

Esse esquema seria usado para importar dados de um esquema existente construído em um banco de dados local.

O problema é que não tenho permissões para criar esquemas no RDS.

O usuário dw_etlque estou usando para conectar à instância postgres tem o role rds_superuser, que é semelhante ao superuserrole. dw_etldeve ser capaz de criar novos esquemas.

Perguntas:

  • Existe uma maneira de criar esquemas com RDS?
  • Se eu não conseguir criar esquemas no RDS, qual seria a melhor maneira de "silos" os dados? O publicesquema se tornará algum tipo de despejo?

Obrigado

postgresql amazon-rds
  • 1 respostas
  • 6374 Views
Martin Hope
Andy K
Asked: 2017-05-31 04:43:02 +0800 CST

Emular contagem de linhas em 2 colunas no Access

  • 1

Tenho a seguinte tabela no Access

insira a descrição da imagem aqui

Eu tenho várias linhas em que há duplicatas quando você filtra na primeira e na segunda coluna. Eu preciso remover essas duplicatas. A melhor maneira que encontrei é usar row_number.

Eu quero emular o equivalente a esta consulta Postgres no Microsoft Access:

SELECT 
    "Supplier_code", 
    "Internal_reference", 
    "Supplier_reference", 
    "Family_code", 
    "Purchasing_unit", 
    "Purchasing_price",
    "Purchasing_currency",
    "Consigned",
    "Eco_order_qty",
    "Pack_order_qty",
    "Min_order_qty",
    "Min_order_value",
    "Product_grossweight",
    "Product_grosscube",
    "Leadtime_days",
    "Supplier_active",
ROW_NUMBER() OVER (PARTITION BY "Supplier_code", "Internal_reference" 
ORDER BY "Internal_reference") AS "cnt"
FROM dw.T13_RefSupplier_Mexico_ToXL

Eu dei uma olhada na internet e encontrei isso no Stack Overflow, mas não sei por onde começar:

  • Alcançando ROW_NUMBER / PARTITION BY no MS Access

Esta tabela é uma tabela de buffer e não tem PK. Todos os dados duplicados devem ser removidos desta tabela. Feito isso, irá para a tabela principal onde Supplier_code& Internal_referencefazem parte do PK.

Eu construí esta consulta, mas ela não alcança o que eu quero:

 SELECT 
    t1.Supplier_code,
    t1.Internal_reference,
    t1.Supplier_reference,
    t1.Family_code,
    t1.Purchasing_unit,
    t1.Purchasing_price,
    t1.Purchasing_currency,
    t1.Consigned,
    t1.Eco_order_qty,
    t1.Pack_order_qty,
    t1.Min_order_qty,
    t1.Min_order_value,
    t1.Product_grossweight,
    t1.Product_grosscube,
    t1.Leadtime_days,
    t1.Supplier_active,
    COUNT(*) AS [Ino]
FROM 
    T13_RefSupplier_Mexico_ToXL AS t1
    INNER JOIN
    T13_RefSupplier_Mexico_ToXL AS t2
        ON t2.Supplier_code = t1.Supplier_code
            AND t2.Purchasing_price <= t1.Purchasing_price
GROUP BY
    t1.Supplier_code,
    t1.Internal_reference,
    t1.Supplier_reference,
    t1.Family_code,
    t1.Purchasing_unit,
    t1.Purchasing_price,
    t1.Purchasing_currency,
    t1.Consigned,
    t1.Eco_order_qty,
    t1.Pack_order_qty,
    t1.Min_order_qty,
    t1.Min_order_value,
    t1.Product_grossweight,
    t1.Product_grosscube,
    t1.Leadtime_days,
    t1.Supplier_active
ORDER BY 1, 2

Por favor, encontre um extrato dos meus dados abaixo

Supplier_code;Internal_reference;Supplier_reference;Family_code;Purchasing_unit;Purchasing_price;Purchasing_currency;Consigned;Eco_order_qty;Pack_order_qty;Min_order_qty;Min_order_value;Product_grossweight;Product_grosscube;Leadtime_days;Supplier_active;
T040;16-0022;;401;EA;0.072;USD;0;0;;;;;;42;1;
T040;50-0595A;;401;EA;0.163;USD;0;0;;;;;;42;1;
T070;50-0672;;131;EA;0.0693;USD;0;0;;;;;;63;1;
T070;50-0673;;131;EA;0.0755;USD;0;0;;;;;;63;1;
T070;50-0687;;131;EA;0.1097;USD;0;0;;;;;;63;1;
T070;50-0688;;131;EA;0.0899;USD;0;0;;;;;;63;1;
T070;50-0738;;131;EA;0.124;USD;0;0;;;;;;0;1;
T080;16-0067;;402;EA;0.47;EUR;0;0;;;;;;0;1;
T080;16-0067;;402;EA;0.47;USD;0;0;;;;;;0;1;
T900;53-2008;;391;EA;0.039;USD;0;0;;;;;;63;1;
T900;53-2008;;391;EA;0.033;USD;0;0;;;;;;63;1;

O resultado desejado pode ser a solução, onde as duplicatas são removidas

Supplier_code;Internal_reference;Supplier_reference;Family_code;Purchasing_unit;Purchasing_price;Purchasing_currency;Consigned;Eco_order_qty;Pack_order_qty;Min_order_qty;Min_order_value;Product_grossweight;Product_grosscube;Leadtime_days;Supplier_active;
    T040;16-0022;;401;EA;0.072;USD;0;0;;;;;;42;1;
    T040;50-0595A;;401;EA;0.163;USD;0;0;;;;;;42;1;
    T070;50-0672;;131;EA;0.0693;USD;0;0;;;;;;63;1;
    T070;50-0673;;131;EA;0.0755;USD;0;0;;;;;;63;1;
    T070;50-0687;;131;EA;0.1097;USD;0;0;;;;;;63;1;
    T070;50-0688;;131;EA;0.0899;USD;0;0;;;;;;63;1;
    T070;50-0738;;131;EA;0.124;USD;0;0;;;;;;0;1;
    T080;16-0067;;402;EA;0.47;EUR;0;0;;;;;;0;1;
    T900;53-2008;;391;EA;0.039;USD;0;0;;;;;;63;1;

Ou a solução em que as duplicatas são sinalizadas

Supplier_code;Internal_reference;Supplier_reference;Family_code;Purchasing_unit;Purchasing_price;Purchasing_currency;Consigned;Eco_order_qty;Pack_order_qty;Min_order_qty;Min_order_value;Product_grossweight;Product_grosscube;Leadtime_days;Supplier_active;Duplicate
T040;16-0022;;401;EA;0.072;USD;0;0;;;;;;42;1;1
T040;50-0595A;;401;EA;0.163;USD;0;0;;;;;;42;1;1
T070;50-0672;;131;EA;0.0693;USD;0;0;;;;;;63;1;1
T070;50-0673;;131;EA;0.0755;USD;0;0;;;;;;63;1;1
T070;50-0687;;131;EA;0.1097;USD;0;0;;;;;;63;1;1
T070;50-0688;;131;EA;0.0899;USD;0;0;;;;;;63;1;1
T070;50-0738;;131;EA;0.124;USD;0;0;;;;;;0;1;1
T080;16-0067;;402;EA;0.47;EUR;0;0;;;;;;0;1;1
T080;16-0067;;402;EA;0.47;USD;0;0;;;;;;0;1;2
T900;53-2008;;391;EA;0.039;USD;0;0;;;;;;63;1;1
T900;53-2008;;391;EA;0.033;USD;0;0;;;;;;63;1;2

Não consigo criar um autoincrement na minha query pois não é uma tabela real, mais os resultados de uma query. Veja a imagem em Acesso:

insira a descrição da imagem aqui

ms-access window-functions
  • 2 respostas
  • 470 Views
Martin Hope
Andy K
Asked: 2017-04-05 05:31:47 +0800 CST

postgres - pg_dump e pg_restore sem papéis

  • 29

Estou tentando restaurar um despejo sem ter as funções apropriadas no banco de dados de recebimento.

Como mencionado aqui , mas também aqui , você precisa ter o --no-ownercomo opção, em pg_dumpou em pg_restoreambos.

Eu usei a seguinte linha de comando para criar meu dump:

"C:\Program Files\PostgreSQL\9.3\bin\pg_dump.exe" --no-owner -Ft --dbname=postgresql://avo******:AV0******[email protected]:5432/BI_DB > K:\BI\backup\sort\bck_%timestamp%.tar

A linha de restauração é a seguinte:

"C:\Program Files\PostgreSQL\9.3\bin\pg_restore.exe" --host localhost --port 5432 --username "postgres" --dbname "BI_TEST2" --no-password  --no-owner --role=postgres --exit-on-error --verbose "D:\D\avo\backup\bck_04042017_1410.tar"

Como você pode ver, ambos têm a --no-owneropção, mas eventualmente, tenho o erro abaixo:

insira a descrição da imagem aqui

O que me incomoda terrivelmente é o log abaixo:

pg_restore: [programme d'archivage (db)] Erreur pendant le traitement de la TOC (« PROCESSING TOC ») :
pg_restore: [programme d'archivage (db)] Erreur à partir de l'entrée TOC 2633 ; 0 0 ACL adm avo******
pg_restore: [programme d'archivage (db)] could not execute query: ERREUR:  role « avo****** » does not exist

Por que ele diz que precisa de uma função, mesmo que --no-ownertenha sido especificado?

Perdi alguma coisa?

Estou rodando no Postgres 9.3

postgresql restore
  • 3 respostas
  • 41718 Views
Martin Hope
Andy K
Asked: 2016-12-17 03:00:47 +0800 CST

backup do postgres com raid1

  • 1

Não encontrei nada relevante na internet sobre como fazer backup do banco de dados postgres com raid1. Então aqui está minha pergunta

Meu administrador de sistema acha que fazer backup do disco raid1, no qual um banco de dados Postgres está localizado, é adequado como um backup Postgres. Ele o restauraria quando necessário.

No meu entendimento, o backup precisa ter o banco de dados parado, pelo menos para algum banco de dados comercial como o Oracle.

É possível fazer backup do banco de dados sem interrompê-lo com um cenário raid1?

Obrigado

postgresql raid
  • 3 respostas
  • 227 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