Is PostgreSQL supported on RHEL6?

Started by Tsunakawa, Takayukiabout 15 years ago3 messagesgeneral
Jump to latest
#1Tsunakawa, Takayuki
tsunakawa.takay@jp.fujitsu.com

Hello,

I have some software products which support RHEL5 for x86 and x86_64. Each
of them uses PostgreSQL 8.3.12 as a data repository. They all embed the same
PostgreSQL binaries.

Now I'm trying to support both RHEL5 and RHEL6 with minimal effort (but with
safety). If possible, I want to continue to use PostgreSQL 8.3.12 built on
RHEL5 for a while. Then, I'd like to ask some questions:

Q1: Is it safe to use PostgreSQL 8.3.12 on RHEL6? If it is not safe, what
kind of problems might happen?
I could build 8.3.12 successfully with 167 compilation warnings that report
"variable not used" and "uninitialized variable is used" etc. Even if I
could run PostgreSQL, I'm not sure that it is safe. I wonder if running the
regression tests reveals problems.

I searched the PostgreSQL mailing lists with "RHEL6" and found the
discussion regarding wal_sync_method and O_DSYNC/O_SYNC. The following fix
in 8.3.13 makes me wonder if I should update with 8.3.14 which is the latest
version of 8.3 series. Is it safe to use 8.3.12 on RHEL6 by setting
wal_sync_method to fdatasync?

----------------------------------------
8.3.13 release note
http://www.postgresql.org/docs/8.3/static/release-8-3-13.html
...
Force the default wal_sync_method to be fdatasync on Linux (Tom Lane, Marti
Raudsepp)
The default on Linux has actually been fdatasync for many years, but recent
kernel changes caused PostgreSQL to choose open_datasync instead. This
choice did not result in any performance improvement, and caused outright
failures on certain filesystems, notably ext4 with the data=journal mount
option.
----------------------------------------

Q2: If 8.3.12 is not safe on RHEL6, is 8.3.14 safe? Do I need to use 9.0.3
on RHEL6?
I want to avoid upgrading to a newer major version (9.0) because my software
do not need new features in 9.0 yet.

Q3: Doesn't PostgreSQL's performance degrade on RHEL6?
As stated above, by searching the PostgreSQL mailing lists and other web
sites, I knew that O_SYNC was implemented in Linux kernel and fsync() got
slower (on ext4 than on ext3?). Do these mean that running PostgreSQL on
RHEL6 is not appropriate yet?

Regards
MauMau

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Tsunakawa, Takayuki (#1)
Re: Is PostgreSQL supported on RHEL6?

"MauMau" <maumau307@gmail.com> writes:

Now I'm trying to support both RHEL5 and RHEL6 with minimal effort (but with
safety). If possible, I want to continue to use PostgreSQL 8.3.12 built on
RHEL5 for a while. Then, I'd like to ask some questions:

I'd recommend rebuilding the executables on RHEL6 if possible, but
otherwise this should be no problem.

I could build 8.3.12 successfully with 167 compilation warnings that report
"variable not used" and "uninitialized variable is used" etc. Even if I
could run PostgreSQL, I'm not sure that it is safe.

You can reasonably assume those are cosmetic. Newer compilers tend to
be pickier about that sort of thing than older ones, so we fix those
sorts of warnings when we see them. If any of them had represented
actual bugs, we'd have back-patched the fixes into 8.3.x.

I searched the PostgreSQL mailing lists with "RHEL6" and found the
discussion regarding wal_sync_method and O_DSYNC/O_SYNC. The following fix
in 8.3.13 makes me wonder if I should update with 8.3.14 which is the latest
version of 8.3 series.

That would be a good idea in any case.

regards, tom lane

#3Tsunakawa, Takayuki
tsunakawa.takay@jp.fujitsu.com
In reply to: Tom Lane (#2)
Re: Is PostgreSQL supported on RHEL6?

Hello,

Thank you for your reply. I've been largely relieved. I understood the anser
was as follows:

[A1] Yes, it is safe to use PostgreSQL 8.3.12 on RHEL6.
It is recommended to rebuild it on RHEL6, however, it should be no problem
to use it without rebuilding it.

[A2] N/A because the answer to Q1 is yes (safe).
Applying the newest update is always recommended. However, the newest update
is not a must for RHEL6.

Tom, all, I'm sorry to ask again.

Do I need to set wal_sync_method to fdatasync in postgresql.conf if I use
8.3.12 on RHEL6? From the release note, I got the impression that even
open_datasync is not a problem unless the ext4 file system is mounted with
data=journal.

How about Q3?

Regards
Maumau

"Tom Lane" <tgl@sss.pgh.pa.us> wrote in message
news:12396.1300373556@sss.pgh.pa.us...

Show quoted text

"MauMau" <maumau307@gmail.com> writes:

Now I'm trying to support both RHEL5 and RHEL6 with minimal effort (but
with
safety). If possible, I want to continue to use PostgreSQL 8.3.12 built
on
RHEL5 for a while. Then, I'd like to ask some questions:

I'd recommend rebuilding the executables on RHEL6 if possible, but
otherwise this should be no problem.

I could build 8.3.12 successfully with 167 compilation warnings that
report
"variable not used" and "uninitialized variable is used" etc. Even if I
could run PostgreSQL, I'm not sure that it is safe.

You can reasonably assume those are cosmetic. Newer compilers tend to
be pickier about that sort of thing than older ones, so we fix those
sorts of warnings when we see them. If any of them had represented
actual bugs, we'd have back-patched the fixes into 8.3.x.

I searched the PostgreSQL mailing lists with "RHEL6" and found the
discussion regarding wal_sync_method and O_DSYNC/O_SYNC. The following
fix
in 8.3.13 makes me wonder if I should update with 8.3.14 which is the
latest
version of 8.3 series.

That would be a good idea in any case.

regards, tom lane