Обсуждение: backup to partitioned table
Hello Guys,
I have a case that I would like you to help me with.
I have a partitioned table in postgresql version 9,5 to which I select and it returns data perfectly, but when I want to make a backup of the table, it only saves the structure without records.
It should be noted that I am not making a backup of the structure, but of the data or complete, but it does not back up the data anyway.
When consulting the administrator, he informs me that it is a partitioned table and that it is always zero, but the data is in its "daughter" tables and that the select that it returns is the information that is housed in all its daughter tables.
Now, given this, I wanted to know if there is any way to make a backup of the table that throws all the data from its child tables into a flat file.
Is it possible to perform this action?
From already thank you very much
Cheers
It should be noted that I am not making a backup of the structure, but of the data or complete, but it does not back up the data anyway.
When consulting the administrator, he informs me that it is a partitioned table and that it is always zero, but the data is in its "daughter" tables and that the select that it returns is the information that is housed in all its daughter tables.
Now, given this, I wanted to know if there is any way to make a backup of the table that throws all the data from its child tables into a flat file.
Is it possible to perform this action?
From already thank you very much
Cheers
Erik R. Serrano Saavedra
Ingeniero de Sistemas Informáticos
Data Base Administrator
998596691
On Wed, Nov 16, 2022 at 8:56 AM Erik Serrano <eserranos@gmail.com> wrote:
I have a partitioned table in postgresql version 9,5 to which I select and it returns data perfectly, but when I want to make a backup of the table, it only saves the structure without records.
It should be noted that I am not making a backup of the structure, but of the data or complete, but it does not back up the data anyway.
When consulting the administrator, he informs me that it is a partitioned table and that it is always zero, but the data is in its "daughter" tables and that the select that it returns is the information that is housed in all its daughter tables.
Now, given this, I wanted to know if there is any way to make a backup of the table that throws all the data from its child tables into a flat file.
I presume you are doing something with pg_dump...don't.
Use a "COPY" command (or psql \copy) to produce the CSV file instead. pg_dump has its own ideas about how to go about producing an actual backup when all you really want is a copy of the data. Because its idea of a backup means having one csv file for each of the child tables in the partition scheme.
David J.
> On Nov 16, 2022, at 8:56 AM, Erik Serrano <eserranos@gmail.com> wrote: > > Hello Guys, > I have a case that I would like you to help me with. > > I have a partitioned table in postgresql version 9,5 to which I select and it returns data perfectly, but when I want tomake a backup of the table, it only saves the structure without records. > It should be noted that I am not making a backup of the structure, but of the data or complete, but it does not back upthe data anyway. > When consulting the administrator, he informs me that it is a partitioned table and that it is always zero, but the datais in its "daughter" tables and that the select that it returns is the information that is housed in all its daughtertables. > > Now, given this, I wanted to know if there is any way to make a backup of the table that throws all the data from its childtables into a flat file. > > Is it possible to perform this action? > From already thank you very much You have to dump all the child tables; usually partitions are named reasonably such that a wildcard can do it: pg_dump -t root_table_name\* > backup.sql You don't exactly get a "flat" backup, as all the individual tables are included, but you do get it all into one file, ifthat's good enough for you.
On 11/16/22 09:56, Erik Serrano wrote:
That is correct.
Flat file as in a CSV file?
If you want to export it to a CSV (or tab-separated, etc, etc) flat file, then -- if using psql, use the COPY or \COPY command; instead of simply specifying a table name, copy the query (SELECT * FROM parent_table).
If that's not what you mean, please clarify.
Hello Guys,I have a case that I would like you to help me with.I have a partitioned table in postgresql version 9,5 to which I select and it returns data perfectly, but when I want to make a backup of the table, it only saves the structure without records.
It should be noted that I am not making a backup of the structure, but of the data or complete, but it does not back up the data anyway.
When consulting the administrator, he informs me that it is a partitioned table and that it is always zero, but the data is in its "daughter" tables and that the select that it returns is the information that is housed in all its daughter tables.
That is correct.
Now, given this, I wanted to know if there is any way to make a backup of the table that throws all the data from its child tables into a flat file.
Flat file as in a CSV file?
Is it possible to perform this action?
If you want to export it to a CSV (or tab-separated, etc, etc) flat file, then -- if using psql, use the COPY or \COPY command; instead of simply specifying a table name, copy the query (SELECT * FROM parent_table).
If that's not what you mean, please clarify.
--
Angular momentum makes the world go 'round.
Angular momentum makes the world go 'round.
"David G. Johnston" <david.g.johnston@gmail.com> writes: > On Wed, Nov 16, 2022 at 8:56 AM Erik Serrano <eserranos@gmail.com> wrote: >> I have a partitioned table in postgresql version 9,5 to which I select and >> it returns data perfectly, but when I want to make a backup of the table, >> it only saves the structure without records. You realize of course that 9.5 is two years past EOL. >> When consulting the administrator, he informs me that it is a partitioned >> table and that it is always zero, but the data is in its "daughter" tables >> and that the select that it returns is the information that is housed in >> all its daughter tables. >> Now, given this, I wanted to know if there is any way to make a backup of >> the table that throws all the data from its child tables into a flat file. > I presume you are doing something with pg_dump...don't. Yeah, pg_dump is chartered to reproduce the original situation, so it won't help here. Also, 9.5 didn't have what we would now call partitioned tables. Presumably this is actually an inheritance tree, which complicates matters because there's no guarantee that the child tables even have the same column set as the parent. > Use a "COPY" command (or psql \copy) to produce the CSV file instead. You'll need to use "COPY (SELECT * FROM parent_table) TO wherever"; just plain "COPY parent_table" won't do it. regards, tom lane
Scott,
Thank you very much for your comment, apply your recommendation and solve my problem.
Thank you very much, it was exactly what I needed.
Cheers
Thank you very much, it was exactly what I needed.
Cheers
Thanks
Erik Serrano
El mié, 16 nov 2022 a las 13:06, Scott Ribe (<scott_ribe@elevated-dev.com>) escribió:
> On Nov 16, 2022, at 8:56 AM, Erik Serrano <eserranos@gmail.com> wrote:
>
> Hello Guys,
> I have a case that I would like you to help me with.
>
> I have a partitioned table in postgresql version 9,5 to which I select and it returns data perfectly, but when I want to make a backup of the table, it only saves the structure without records.
> It should be noted that I am not making a backup of the structure, but of the data or complete, but it does not back up the data anyway.
> When consulting the administrator, he informs me that it is a partitioned table and that it is always zero, but the data is in its "daughter" tables and that the select that it returns is the information that is housed in all its daughter tables.
>
> Now, given this, I wanted to know if there is any way to make a backup of the table that throws all the data from its child tables into a flat file.
>
> Is it possible to perform this action?
> From already thank you very much
You have to dump all the child tables; usually partitions are named reasonably such that a wildcard can do it:
pg_dump -t root_table_name\* > backup.sql
You don't exactly get a "flat" backup, as all the individual tables are included, but you do get it all into one file, if that's good enough for you.