De : pgsql-general-ow...@postgresql.org [mailto:pgsql-general-ow...@postgresql.org] De la part de twoflower Envoyé : Friday, August 18, 2017 2:40 PM À : pgsql-general@postgresql.org Objet : [GENERAL] archive_command fails but works outside of Postgres
I changed my archive_command to the following: archive_command = 'gsutil cp /storage/postgresql/9.6/main/%p gs://my_bucket/pg_xlog/' and it fails, leaving the following in the log: 2017-08-18 18:34:25.057 GMT [1436][0]: [104319] LOG: archive command failed with exit code 1 2017-08-18 18:34:25.057 GMT [1436][0]: [104320] DETAIL: The failed archive command was: gsutil cp /storage/postgresql/9.6/main/000000010000038B000000D8 gs://my_bucket/pg_xlog/ 2017-08-18 18:34:25.057 GMT [1436][0]: [104321] WARNING: archiving transaction log file "000000010000038B000000D8" failed too many times, will try again later But the command works when executed manually: root$ su postgres -c "gsutil cp /storage/postgresql/9.6/main/000000010000038B000000D8 gs://my_bucket/pg_xlog/" root$ echo $? 0 The last command verifies that gsutil indeed exited with 0. How to best debug this issue? I think the parameter %p contains the complete path of the file and that you may need to specify the file name for the destination. Try this for your archive command : archive_command = 'gsutil cp "%p" "gs://my_bucket/pg_xlog/%f"' - Mark Watson