dump and restore postgresql database

dump

#!/bin/bash
if [ ! "$USER" == "postgres" ] ; then
	echo "user must be postgres"
	exit 1
fi
PATH=$PATH:/srv/pgsql/bin
touch /u04/export/in_progress
for db in $(echo "select datname  from pg_database where datname <>'template0'" | psql --no-align --quiet --tuples-only ); do
mkdir -p "/u04/export/$db"
echo "dump database $db..."
backup_file="/u04/export/$db/pg_dump__${db}__$(date +%Y-%m-%d__%H-%M-%S)"
pg_dump $db -Fd  -f  $backup_file && pg_dump $db -Fp --schema-only -f  $backup_file/schema.sql
if [[ $?==0 ]]; then
	echo "export to $backup_file success"
else
	echo "export failed"
fi
done
rm /u04/export/in_progress

restore

pg_restore -d test4 -Fd /u04/export/test4/pg_dump__test4__2025-08-21__11-43-18/
pg_restore -d test4 -Fd -a /u04/export/test4/pg_dump__test4__2025-08-21__11-43-18/
pg_restore -d test4 -Fd -t dt_fake_data -a /u04/export/test4/pg_dump__test4__2025-08-21__11-43-18/