pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Scott Whitney <scott@journyx.com>
To: xujian <jamesxu@outlook.com>
To: pgsql-admin@postgresql.org <pgsql-admin@postgresql.org>
Subject: Re: open database on read only file system
Date: Fri, 7 Oct 2016 23:54:55 +0000
Message-ID: <cmqpipd2aeyul04yifqd2dvs.1475884481598@email.android.com> (raw)
In-Reply-To: <BAY181-W65B2AF3CFDD6A29D89C51AA1C60@phx.gbl>
References: <BAY181-W523DAD585129C574CC0E7DA1C60@phx.gbl>
	<BY1PR11MB03906B5B3592576B3D4491F1A7C60@BY1PR11MB0390.namprd11.prod.outlook.com>
	<BAY181-W65B2AF3CFDD6A29D89C51AA1C60@phx.gbl>
List-Unsubscribe: <mailto:majordomo@postgresql.org?body=unsub%20pgsql-admin>

Well, I mean, yeah. You're (presumably) trying to test changes before going live? But you're changing the code to run on an RO system? That's not an apples-to-apples test, and (while unlikely) your results could be different in production.

If **I** were doing this? I would set up replication, get it in sync to my internal test server, break the replication, promote the slave and run my tests.

That's a 1:1.

That would make me the most confident.


-------- Original message --------
From: xujian <jamesxu@outlook.com>
Date: 10/07/2016 4:46 PM (GMT-06:00)
To: Scott Whitney <scott@journyx.com>, pgsql-admin@postgresql.org
Subject: RE: [ADMIN] open database on read only file system

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_RDONLY
fd = 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

James


________________________________
From: scott@journyx.com
To: jamesxu@outlook.com; pgsql-admin@postgresql.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@postgresql.org <pgsql-admin-owner@postgresql.org> on behalf of xujian <jamesxu@outlook.com>
Sent: Friday, October 7, 2016 2:43 PM
To: pgsql-admin@postgresql.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/


view thread (8+ messages)  latest in thread

Message-ID: <cmqpipd2aeyul04yifqd2dvs.1475884481598@email.android.com>
Permalink:  ../cmqpipd2aeyul04yifqd2dvs.1475884481598@email.android.com/
Also on:    postgresql.org/message-id/cmqpipd2aeyul04yifqd2dvs.1475884481598@email.android.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: scott@journyx.com, jamesxu@outlook.com
  Subject: Re: open database on read only file system
  In-Reply-To: <cmqpipd2aeyul04yifqd2dvs.1475884481598@email.android.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox