PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

no redshift postgresql posso pular colunas com a função de cópia


Se você quiser pular a parte de pré-processamento, você pode definir a coluna a ser ignorada como CHAR(1) e, em seguida, use um TRUNCATECOLUMNS parâmetro para um COPY comando:
CREATE TABLE t1a (
  c1,
  c2 CHAR(1),
  c3
);
COPY t1a FROM t1 TRUNCATECOLUMNS

Os TRUNCATECOLUMNS ignora todos os dados mais longos do que o definido em um esquema de tabela durante a importação, portanto, todos os dados dessa coluna serão truncados em 1 caractere.

Isso é apenas um hack, o arquivo de entrada de pré-processamento é recomendado, mas às vezes um hack é tudo o que é necessário.