о которой пишу выше (копирование по условию) - копировать через временную таблицу
                  
                  
                   CREATE TEMP TABLE tmp_table 
                  
                  
                  ON COMMIT DROP
                  
                  
                  AS
                  
                  
                  SELECT * 
                  
                  
                  FROM main_table
                  
                  
                  WITH NO DATA;
                  
                  
                  
                  
                  
                  COPY tmp_table FROM 'full/file/name/here';
                  
                  
                  
                  
                  
                  INSERT INTO main_table
                  
                  
                  SELECT DISTINCT ON (PK_field) *
                  
                  
                  FROM tmp_table
                  
                  
                  ORDER BY (some_fields)
                  
                  
                  единственное мне тут не понятная строка SELECT DISTINCT ON (PK_field) * - она позволит не делать вставку если уже есть данные или отработае как-то по другому?
                  
                  
                  может быть для того, чтобы не вставлять строку если уже есть данные, нужно что-то еще?
                  
                  
                
Вы это хоть пробовали? ;( (Мне просто непонятно, почему Вы решили, что нашли решение.) И откуда у Вас дубликаты записей в источнике? > и выполняю после этого init скрипт, который Так почему бы Вам в этом script-е не сделать подходящую проверку?
Обсуждают сегодня