0

I'm encountering an issue while migrating a large amount of Oracle data to PostgreSQL using an ETL tool. The problem is that the pg_wal directory in PostgreSQL becomes full. I'm looking for solutions to resolve this issue. How can I address this problem and prevent the pg_wal directory from becoming full during the data migration process? Any help would be appreciated.

For the data migration, the following PostgreSQL parameters have been configured :

PostgreSQL 14.2

archive_mode = off

min_wal_size = 5 GB

max_wal_size = 20 GB

wal_keep_size = 10 GB

work_mem = 50MB

checkpoint_completion_target = 0.9

seunofk
  • 11
  • 2
  • Your transaction log is full. Either increase the disk size, or *don't* try to load everything in a single batch. Oracle DBAs would be really angry if you tried to insert a ton of data in a single transaction too. You need to change your ETL job to load data in batches. Beyond that, without knowing what tool you used, what the ETL job does, one can only guess – Panagiotis Kanavos Jun 30 '23 at 07:18
  • @PanagiotisKanavos The size of a transaction has nothing to do with that. PostgreSQL will happily delete WAL segments that contain data from uncommitted transactions. – Laurenz Albe Jun 30 '23 at 08:05
  • The archiver is stuck or too slow, or replication is stuck or too slow. – Laurenz Albe Jun 30 '23 at 08:06

0 Answers0