Re: Automate copy - Postgres 9.2

From: John R Pierce <pierce(at)hogranch(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Automate copy - Postgres 9.2
Date: 2016-06-09 00:13:38
Message-ID: 4c11c823-bea0-2088-2967-a7fff8914fd1@hogranch.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 6/8/2016 4:24 PM, Patrick B wrote:
>
> I need to do a file backup for each account_id.
>
> Example:
>
> |COPY (SELECT*FROMbackup_table WHEREid =1112ANDstatus
> =1)TO'/var/lib/pgsql/1112.sql';|

COPY generates CSV and similar formats, not .sql. only pg_dump, the
command line utility, outputs .SQL

> begin
>
> FOR crtRow in execute 'select account_id from backup_table
> WHERE migrated = 1 AND account_id = '|| $1
>
>
> LOOP
>
> COPY
>
> (SELECT * FROM gorfs.WBP_4868_backup_table_BLOBS WHERE
> migrated = 1 AND account_id = crtRow.account_id)
>
> TO '/var/lib/pgsql/gorfs_backup/%s.sql';
>
> end loop;
>
> return integer;
>
> end
>
try...

begin

FOR crtRow in
select account_id from backup_table WHERE migrated = 1
AND account_id in $1

LOOP

COPY

(SELECT * FROM gorfs.WBP_4868_backup_table_BLOBS WHERE
migrated = 1 AND account_id = crtRow.account_id)

TO '/var/lib/pgsql/gorfs_backup/' || crtRow.account_id || '.csv';

end loop;

return integer;

end

but you can't exactly return 'integer' if its a list of values, so I'm
not sure what it is you want to return from this function...

--
john r pierce, recycling bits in santa cruz

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2016-06-09 00:19:11 Re: Automate copy - Postgres 9.2
Previous Message Patrick B 2016-06-08 23:24:57 Automate copy - Postgres 9.2