CREATE or REPLACE FUNCTION function(account_id integer)
RETURNS void AS $$
begin
execute 'COPY
(
SELECT * FROM backup_table WHERE account_id = ' || account_id || 'AND status = 1
)
TO ''/var/lib/pgsql/'||account_id||'.sql''';
end
$$ language 'plpgsql';
The function works fine.. but is not what I need, actually. The function above works by calling it specifying the account_id. For example:
You want to copy ( backup ) for the account_id number 63742:
select function(63742);
*What I need is:*
When calling the function, I have to specify the limit of account_ids to be copied. For example: To perform the commands in the function to 40 different account_ids:
select function (40);
How can I do that? I can't...
I believe this has been asked and answered, namely there needs to be further information on how you want to determine the account ids to be selected.
The account_ids can be random.. does not need to have an order, as they all will be copied some day.
There are more than 1.000.000 million rows in that backup table ( attachments: as pictures, pdfs, etc ), and that's why I can't specify the account_Id manually.. and also need a limit, so the server won't stop while performing the COPY
- Also, each file must have the account_id's name. Example for the account_id = 124134 124134.sql