SELECT e INSERT em dados armazenados em um servidor PostgreSQL remoto.
Sintaxe
Argumentos
| Argumento | Descrição |
|---|---|
host:port | Endereço do servidor PostgreSQL. |
database | Nome do banco de dados remoto. |
table | Nome da tabela remota. |
user | Usuário do PostgreSQL. |
password | Senha do usuário. |
schema | Esquema não padrão da tabela. Opcional. |
on_conflict | Estratégia de resolução de conflitos. Exemplo: ON CONFLICT DO NOTHING. Opcional. |
host e port devem ser especificados separadamente. Essa abordagem é recomendada para ambientes de produção.
Valor retornado
Na consulta
INSERT, para diferenciar a função de tabela postgresql(...) do nome da tabela com uma lista de nomes de colunas, você deve usar as palavras-chave FUNCTION ou TABLE FUNCTION. Veja os exemplos abaixo.Detalhes de implementação
SELECT no PostgreSQL são executadas como COPY (SELECT ...) TO STDOUT dentro de uma transação PostgreSQL somente leitura, com commit após cada consulta SELECT.
Cláusulas WHERE simples, como =, !=, >, >=, <, <= e IN, são executadas no servidor PostgreSQL.
Todas as junções, agregações, ordenação, condições IN [ array ] e a restrição de amostragem LIMIT são executadas no ClickHouse somente após o término da consulta ao PostgreSQL.
As consultas INSERT no PostgreSQL são executadas como COPY "table_name" (field1, field2, ... fieldN) FROM STDIN dentro de uma transação PostgreSQL, com commit automático após cada instrução INSERT.
Tipos Array do PostgreSQL são convertidos em arrays do ClickHouse.
Atenção: no PostgreSQL, uma coluna do tipo array, como Integer[], pode conter arrays com dimensões diferentes em linhas distintas, mas no ClickHouse só é permitido ter arrays multidimensionais com a mesma dimensão em todas as linhas.
|. Por exemplo:
0.
Exemplos
Replicando ou migrando dados do Postgres com o PeerDB
Além das funções de tabela, você sempre pode usar o PeerDB, da ClickHouse, para configurar um pipeline contínuo de dados do Postgres para o ClickHouse. O PeerDB é uma ferramenta projetada especificamente para replicar dados do Postgres para o ClickHouse usando CDC (captura de alterações de dados).