Postgresql Query

Started by Bansal, Abhishek (Abhishek)over 6 years ago10 messagesbugs
Jump to latest

Hello, Team,
Am running into a hard situation where few files are emptied with the below directory of the PostgreSQL.
The files marked as red are emptied which caused server behaving very bad, could you please let us know if there is any way we can retrieve these emptied files?

/var/lib/pgsql/data/base

300399
300399
300399.1
300399.2
209034
209034.1

Best Regards
Abhishek

#2Merlin Moncure
mmoncure@gmail.com
In reply to: Bansal, Abhishek (Abhishek) (#1)
Re: Postgresql Query

On Mon, Aug 19, 2019 at 2:15 AM Bansal, Abhishek (Abhishek)
<bansal7@avaya.com> wrote:

Hello, Team,

Am running into a hard situation where few files are emptied with the below directory of the PostgreSQL.

The files marked as red are emptied which caused server behaving very bad, could you please let us know if there is any way we can retrieve these emptied files?

The data is probably gone. It's possible some of all may still reside
in the underlying disks depending how it was deleted and how much disk
activity has occurred since the deletion event but the restoration
process would be very complex with low chance of recovery.

If the database is allowing queries, Inside of the system catalogs,
you can figure out which tables those files are attached to; it looks
like two tables were impacted. The number before the period can be
matched against pg_class.relfilenode. Once you've identified the
tables, you need to restore them from backup and get the database back
in shape assuming you can't or don't want to do a full database
restore from backup. What happens so that he files were emptied?

merlin

In reply to: Merlin Moncure (#2)
RE: Postgresql Query

Hi, Merlin,

Thank you for the reply

When files are emptied then it caused the outage for other servers using this server as a administration. The files were emptied because the disk space was keep increasing due so we emptied these files which eventually reduced the disk size however it caused another issues

Below is the directory where the files are emptied

/var/lib/pgsql/data/base

Abhishek

-----Original Message-----
From: Merlin Moncure <mmoncure@gmail.com>
Sent: Monday, August 19, 2019 7:09 PM
To: Bansal, Abhishek (Abhishek) <bansal7@avaya.com>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: Postgresql Query

On Mon, Aug 19, 2019 at 2:15 AM Bansal, Abhishek (Abhishek) <bansal7@avaya.com<mailto:bansal7@avaya.com>> wrote:

Hello, Team,

Am running into a hard situation where few files are emptied with the below directory of the PostgreSQL.

The files marked as red are emptied which caused server behaving very bad, could you please let us know if there is any way we can retrieve these emptied files?

The data is probably gone. It's possible some of all may still reside in the underlying disks depending how it was deleted and how much disk activity has occurred since the deletion event but the restoration process would be very complex with low chance of recovery.

If the database is allowing queries, Inside of the system catalogs, you can figure out which tables those files are attached to; it looks like two tables were impacted. The number before the period can be matched against pg_class.relfilenode. Once you've identified the tables, you need to restore them from backup and get the database back in shape assuming you can't or don't want to do a full database

restore from backup. What happens so that he files were emptied?

merlin

#4Merlin Moncure
mmoncure@gmail.com
In reply to: Bansal, Abhishek (Abhishek) (#3)
Re: Postgresql Query

On Mon, Aug 19, 2019 at 9:18 AM Bansal, Abhishek (Abhishek)
<bansal7@avaya.com> wrote:

Hi, Merlin,

Thank you for the reply

When files are emptied then it caused the outage for other servers using this server as a administration. The files were emptied because the disk space was keep increasing due so we emptied these files which eventually reduced the disk size however it caused another issues

Below is the directory where the files are emptied

/var/lib/pgsql/data/base

OK, your data is gone. Essentially, you destroyed it; making any
direct change to the files is extremely dangerous particularly if the
database is running. The right we to free space is to delete data
from the database at the SQL level and do maintenance operations (like
VACUUM FULL or CLUSTER) to mange the files down in terms of size.

I'm sorry fo the bad news but now it's time to move ahead. Since the
database volume is full there are no likely recovery options except to
restore the impacted from backup. With some effort you may be able to
get the current database back to a consistent state so that you may be
able to restore specific tables (rather than a full restore) but this
requires in depth knowledge of database internals. If you have no
database then the only way forward is to likely to do emergency
recovery to grab out everything that is salvageable and get a
consistent database back up.

merlin

In reply to: Merlin Moncure (#4)
RE: Postgresql Query

Hi, Merlin,
Thank you for the update

Ok so there seems now no procedure, either complex, to restore the emptied files?
Would you like me to recommend few courses for PostgreSQL databases that will really help us understanding it better and nevertheless the troubleshooting steps?

Abhishek

-----Original Message-----
From: Merlin Moncure <mmoncure@gmail.com>
Sent: Monday, August 19, 2019 8:21 PM
To: Bansal, Abhishek (Abhishek) <bansal7@avaya.com>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: Postgresql Query

On Mon, Aug 19, 2019 at 9:18 AM Bansal, Abhishek (Abhishek) <bansal7@avaya.com> wrote:

Hi, Merlin,

Thank you for the reply

When files are emptied then it caused the outage for other servers
using this server as a administration. The files were emptied because
the disk space was keep increasing due so we emptied these files which
eventually reduced the disk size however it caused another issues

Below is the directory where the files are emptied

/var/lib/pgsql/data/base

OK, your data is gone. Essentially, you destroyed it; making any direct change to the files is extremely dangerous particularly if the database is running. The right we to free space is to delete data from the database at the SQL level and do maintenance operations (like VACUUM FULL or CLUSTER) to mange the files down in terms of size.

I'm sorry fo the bad news but now it's time to move ahead. Since the
database volume is full there are no likely recovery options except to restore the impacted from backup. With some effort you may be able to get the current database back to a consistent state so that you may be able to restore specific tables (rather than a full restore) but this requires in depth knowledge of database internals. If you have no database then the only way forward is to likely to do emergency recovery to grab out everything that is salvageable and get a consistent database back up.

merlin

#6Merlin Moncure
mmoncure@gmail.com
In reply to: Bansal, Abhishek (Abhishek) (#5)
Re: Postgresql Query

On Mon, Aug 19, 2019 at 10:03 AM Bansal, Abhishek (Abhishek)
<bansal7@avaya.com> wrote:

Hi, Merlin,
Thank you for the update

Ok so there seems now no procedure, either complex, to restore the emptied files?
Would you like me to recommend few courses for PostgreSQL databases that will really help us understanding it better and nevertheless the troubleshooting steps?

As you've described the situation, the data is gone. This is not
really a database problem; you emptied the files by hand. As it
relates to training, it seems like you need some. There are a lot of
very good free resources online but you may also want to read a book
or two.

merlin

In reply to: Merlin Moncure (#6)
RE: Postgresql Query

Ok thank you, Merlin, for your time replying to my questions patiently
Have a good one

Abhishek

-----Original Message-----
From: Merlin Moncure <mmoncure@gmail.com>
Sent: Monday, August 19, 2019 8:48 PM
To: Bansal, Abhishek (Abhishek) <bansal7@avaya.com>
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: Postgresql Query

On Mon, Aug 19, 2019 at 10:03 AM Bansal, Abhishek (Abhishek) <bansal7@avaya.com> wrote:

Hi, Merlin,
Thank you for the update

Ok so there seems now no procedure, either complex, to restore the emptied files?
Would you like me to recommend few courses for PostgreSQL databases that will really help us understanding it better and nevertheless the troubleshooting steps?

As you've described the situation, the data is gone. This is not
really a database problem; you emptied the files by hand. As it
relates to training, it seems like you need some. There are a lot of very good free resources online but you may also want to read a book or two.

merlin

In reply to: Bansal, Abhishek (Abhishek) (#7)
RE: Postgresql Query

Hi, Merlin,

I've last question for this thread, sorry

Inside - /var/lib/pgsql/data/base - so can't we delete or empty any files? How we come to know which files don’t get affected?

Abhishek

-----Original Message-----
From: Bansal, Abhishek (Abhishek)
Sent: Monday, August 19, 2019 8:52 PM
To: Merlin Moncure <mmoncure@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Subject: RE: Postgresql Query

Ok thank you, Merlin, for your time replying to my questions patiently Have a good one

Abhishek

-----Original Message-----

From: Merlin Moncure <mmoncure@gmail.com<mailto:mmoncure@gmail.com>>

Sent: Monday, August 19, 2019 8:48 PM

To: Bansal, Abhishek (Abhishek) <bansal7@avaya.com<mailto:bansal7@avaya.com>>

Cc: pgsql-bugs@lists.postgresql.org<mailto:pgsql-bugs@lists.postgresql.org>

Subject: Re: Postgresql Query

On Mon, Aug 19, 2019 at 10:03 AM Bansal, Abhishek (Abhishek) <bansal7@avaya.com<mailto:bansal7@avaya.com>> wrote:

Hi, Merlin,

Thank you for the update

Ok so there seems now no procedure, either complex, to restore the emptied files?

Would you like me to recommend few courses for PostgreSQL databases that will really help us understanding it better and nevertheless the troubleshooting steps?

As you've described the situation, the data is gone. This is not

really a database problem; you emptied the files by hand. As it

relates to training, it seems like you need some. There are a lot of very good free resources online but you may also want to read a book or two.

merlin

#9Tom Lane
tgl@sss.pgh.pa.us
In reply to: Bansal, Abhishek (Abhishek) (#8)
Re: Postgresql Query

"Bansal, Abhishek (Abhishek)" <bansal7@avaya.com> writes:

Inside - /var/lib/pgsql/data/base - so can't we delete or empty any files? How we come to know which files don’t get affected?

You shouldn't manually mess with *anything* under the data/ directory,
except for the documented configuration files (postgresql.conf etc).

Exceptions to this rule are very rare, and you'd better know exactly
what you're doing.

regards, tom lane

In reply to: Tom Lane (#9)
RE: Postgresql Query

Sure, thank you Tom,

Abhishek

-----Original Message-----
From: Tom Lane <tgl@sss.pgh.pa.us>
Sent: Tuesday, August 20, 2019 12:50 AM
To: Bansal, Abhishek (Abhishek) <bansal7@avaya.com>
Cc: Merlin Moncure <mmoncure@gmail.com>; pgsql-bugs@lists.postgresql.org
Subject: Re: Postgresql Query

"Bansal, Abhishek (Abhishek)" <bansal7@avaya.com> writes:

Inside - /var/lib/pgsql/data/base - so can't we delete or empty any files? How we come to know which files don’t get affected?

You shouldn't manually mess with *anything* under the data/ directory, except for the documented configuration files (postgresql.conf etc).

Exceptions to this rule are very rare, and you'd better know exactly what you're doing.

regards, tom lane