pg_dump filename not correct in vista?

Hi,

Created a batch code that can backup postgre databases. The code is below. The output of the backup file in windows XP appears in this format:

<DbaseName>-<Year><MM><DD>-<HH><MM>.backup

e.g. mydatabase-20090629-1856.backup

However when tried in vista it appeared as:

mydatabase-062009-856.backup

The data for the filename is not appearing correctly in vista. Anyone who can tell me why is this happening and how can I correct the code so it will appear correctly in Vista?


Thanks.
@echo off
   for /f "tokens=1-4 delims=/ " %%i in ("%date%") do (
     set dow=%%i
     set month=%%j
     set day=%%k
     set year=%%l
     set time=%time:~0,2%%time:~3,2%
   )
   set datestr=%year%%month%%day%-%time%
 
echo off    
   set BACKUP_FILE=<DBaseName>-%datestr%.backup
   set BIN_DIR="C:\Program Files\PostgreSQL\8.3\"
   SET PGPASSWORD=<POSTGREPASSWORD>
   
   %BIN_DIR%bin\pg_dump.exe -i -h <HostName> -p 5432 -U postgres -Fc -v -f %BACKUP_FILE% <DbaseName>

Open in new window

openaccount1Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

openaccount1Author Commented:
also, here is an erro that we are receiving.

Date Stamp for backu files is 062009-020 pg_dump too many command line arguments (first is "MyDbaseName" Try "pg_dump" help for more information.

0
winstonepCommented:
It certainly appears that the date is being reported to the batch file differently in Vista. I'm not sure it's a good idea using batch files any more but I understand why as well.

Personally I would go for VBScript to take care of this but I'm afraid I don't know enough about it. Alternatively write a simple program in Visual BASIC perhaps?

I can only guess without having access to Vista here but how about trying  to re-arrange the order of the parameters or better still to debug, put a pause in and echo the contents of dow, day, year etc. to get an idea of what they actually contain.

Having said this, isn't there a backup option for the database that you can use instead? Don't know to be honest as I've only briefly tried this as I normally stick to Oracle, MySQL or SQL Server.
0
ivanovnCommented:
I am running Vista Enterprise and your code works just fine. Are you sure you don't have any other code doing anything funny or an accidental comment/misspelling in the file you're using on Vista?
0
Big Business Goals? Which KPIs Will Help You

The most successful MSPs rely on metrics – known as key performance indicators (KPIs) – for making informed decisions that help their businesses thrive, rather than just survive. This eBook provides an overview of the most important KPIs used by top MSPs.

earth man2Commented:
you could have operating system default date format set differently.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
winstonepCommented:
Yes true. The regional settings may be different in Vista so just check that you have them set to the same country and same date format.
0
openaccount1Author Commented:
Hi,

I am using the US format and the one running the code in Vista uses the UK format. Would that make a difference?
0
openaccount1Author Commented:
Changed the  date to UK format and found the issue. The key codes are being designated differently when format of date is changed.
0
winstonepCommented:
That would definitely make sense as all your formatting is doing is picking up the text in order from the date/time string rather than picking up the specific day/month/year
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
PostgreSQL

From novice to tech pro — start learning today.