Re: open database on read only file system

From: xujian <jamesxu(at)outlook(dot)com>
To: Whitney Scott <scott(at)journyx(dot)com>, "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: open database on read only file system
Date: 2016-10-07 21:46:02
Message-ID: BAY181-W65B2AF3CFDD6A29D89C51AA1C60@phx.gbl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Thanks Scott. Do you know if there is any way to support read-only FS? for instance patch or extension.
I noticed the error is from file md.c========/* * mdopen() -- Open the specified relation. * * Note we only open the first segment, when there are multiple segments. * * If first segment is not present, either ereport or return NULL according * to "behavior". We treat EXTENSION_CREATE the same as EXTENSION_FAIL; * EXTENSION_CREATE means it's OK to extend an existing relation, not to * invent one out of whole cloth. */static MdfdVec *mdopen(SMgrRelation reln, ForkNumber forknum, int behavior)========
so I changed the file open mode from O_RDWR to O_RDONLYfd = PathNameOpenFile(path, O_RDONLY | PG_BINARY, 0600);
and it works. I can open the user database, and query table now. Do you think if there is any potential problem of this change?I just need to open database on read-only file system, and no need any changes on the cluster. thanks
JamesFrom: scott(at)journyx(dot)com
To: jamesxu(at)outlook(dot)com; pgsql-admin(at)postgresql(dot)org
Subject: Re: [ADMIN] open database on read only file system
Date: Fri, 7 Oct 2016 20:06:09 +0000

To my knowledge, it is not, no.

The FS must be read/write.

What I would do in this situation is to migrate it to a test/new system where no one can access it and bring it up r/w.

Or set up streaming replication. That gives you select-only.

From: pgsql-admin-owner(at)postgresql(dot)org <pgsql-admin-owner(at)postgresql(dot)org> on behalf of xujian <jamesxu(at)outlook(dot)com>

Sent: Friday, October 7, 2016 2:43 PM

To: pgsql-admin(at)postgresql(dot)org

Subject: [ADMIN] open database on read only file system

Hi,
Could you please let me know if it is possible to open database on read-only file system?

I have a psotgresql 9.6 cluster, PGDATA folder is on READ-WRITE volume(system volume), user database is created on a table space which is located on another volume(data volume). Now we set the data volume to read only mode,
before we changed the mode, I also disabled the auto vacuum, run checkpoint,
and vacuum free. We reboot the service, everything was fine until we tried to access the database.
===============

postgres=# \c userdb;
FATAL: could not open file "pg_tblspc/16384/PG_9.6_201608131/16468/2662": Read-only file system
===============

we enabled the debug mode, in log file, we saw
===============

FATAL: 42501: could not open file "pg_tblspc/16384/PG_9.6_201608131/16468/2662": Read-only file system
LOCATION: mdopen, md.c:609

===============

Does anyone know if there is anyway to run database on read-only file system? thanks

James

Journyx, Inc.
7600 Burnet Road #300

Austin, TX 78757

www.journyx.com

p 512.834.8888
f 512-834-8858

Do you receive our promotional emails? You can subscribe or unsubscribe to those emails at http://go.journyx.com/emailPreference/e/4932/714/

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message David G. Johnston 2016-10-07 22:06:21 Re: open database on read only file system
Previous Message Scott Whitney 2016-10-07 20:06:09 Re: open database on read only file system