Skip to content

ERROR: column XXX can only be updated to DEFAULT, Column XXX is an identity column defined as GENERATED ALWAYS. #941

@plvnv

Description

@plvnv

When cloning database using pgcopydb

version 0.17.10.g8361a93.dirty
compiled with PostgreSQL 17.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 11.4.1 20230605 (Red Soft 11.4.0-1), 64-bit
compatible with Postgres 11, 12, 13, 14, 15, and 16

with command

pgcopydb clone --follow --restart --table-jobs 2 --index-jobs 2 --plugin wal2json

from postgresql 13.13 to 17.7 every time get this

.....
.....
.....
2026-01-20 20:54:09.057 3953253 INFO   ld_apply.c:461            Replaying changes from file "/u01/tmp/pgcopydb_follow/pgcopydb/00000001000078D6000000A3.sql"                                                                    
2026-01-20 20:54:09.595 3953253 INFO   ld_apply.c:140            Apply reached 78D6/A3FFE3B0 in "/u01/tmp/pgcopydb_follow/pgcopydb/00000001000078D6000000A3.sql"                                                                 
2026-01-20 20:54:09.602 3953253 INFO   ld_apply.c:461            Replaying changes from file "/u01/tmp/pgcopydb_follow/pgcopydb/00000001000078D6000000A4.sql"                                                                    
2026-01-20 20:54:10.015 3953253 ERROR  pgsql.c:3150              [TARGET 146632] [428C9] ERROR:  column "i_id" can only be updated to DEFAULT                                                                                    
2026-01-20 20:54:10.015 3953253 ERROR  pgsql.c:3158              [TARGET 146632] DETAIL:  Column "i_id" is an identity column defined as GENERATED ALWAYS.                                                                       
2026-01-20 20:54:10.015 3953253 ERROR  pgsql.c:3165              [TARGET 146632] Context: Failed to receive pipeline sync                                                                                                        
free(): double free detected in tcache 2                                                                                                                                                                                         
2026-01-20 20:54:10.290 3953249 ERROR  follow.c:1057             Subprocess catchup with pid 3953253 has exited with return code 0 and signal Aborted                                                                            
2026-01-20 20:54:10.291 3953250 INFO   pgsql.c:4466              Reported write_lsn 78F0/22951CD8, flush_lsn 78F0/22951CD8, replay_lsn 78D6/A3FFE3B0                                                                             
2026-01-20 20:54:10.310 3953250 INFO   ld_stream.c:518           Streamed up to write_lsn 78F0/22951CD8, flush_lsn 78F0/22951CD8, stopping: endpos is 0/0                                                                        
2026-01-20 20:54:10.310 3953250 INFO   follow.c:704              Prefetch process has terminated                                                                                                                                 
2026-01-20 20:54:10.322 3953252 INFO   follow.c:771              Transform process has terminated                                                                                                                                
2026-01-20 20:54:10.592 3953249 ERROR  follow.c:654              Some sub-process exited with errors, see above for details                                                                                                      
2026-01-20 20:54:10.592 3953249 ERROR  follow.c:294              Failed to follow changes from source, see above for details                                                                                                     
2026-01-20 20:54:10.716 3953212 ERROR  cli_clone_follow.c:764    follow process 3953249 has terminated [12]   

There are no errors on the source database

Destionation database log

2026-01-20 20:54:10 MSK [146632]: [1-1] user=postgres,db=xxxxx,client=127.0.0.1 ERROR:  column "i_id" can only be updated to DEFAULT                                                                                          
2026-01-20 20:54:10 MSK [146632]: [2-1] user=postgres,db=xxxxx,client=127.0.0.1 DETAIL:  Column "i_id" is an identity column defined as GENERATED ALWAYS.                                                                     
2026-01-20 20:54:10 MSK [146632]: [3-1] user=postgres,db=xxxxx,client=127.0.0.1 STATEMENT:  UPDATE "xxxxx"."xxxxx" SET "i_id" = $1, "id_document" = $2, "s_role" = $3, "id_member" = $4, "s_type" = $5, "s_user_name" 
= $6, "s_name" = $7, "s_full_name" = $8, "s_department" = $9, "s_position" = $10, "id_branch" = $11, 
"s_branch" = $12, "i_dbvc_from_commit" = $13, 
"i_dbvc_to_commit" = $14, 
"s_dbvc_performer_user_name" = $15, 
"b_dbvc_deleted"= $16 
WHERE "i_dbvc_model_id" = $17 and "i_dbvc_local_version" = $18;      

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions