Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bsf0c-0005ho-5y for pgsql-admin@arkaria.postgresql.org; Fri, 07 Oct 2016 23:56:58 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bsf0b-0006CQ-PF for pgsql-admin@arkaria.postgresql.org; Fri, 07 Oct 2016 23:56:57 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bseyr-0002dH-GD for pgsql-admin@postgresql.org; Fri, 07 Oct 2016 23:55:10 +0000 Received: from mail-by2nam03on0049.outbound.protection.outlook.com ([104.47.42.49] helo=NAM03-BY2-obe.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bseym-0001SP-IK for pgsql-admin@postgresql.org; Fri, 07 Oct 2016 23:55:07 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=journyx.onmicrosoft.com; s=selector1-journyx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=Zse7d7WAGUPU+jCp4E215EHzh7DklhWW3MRFvvUwcqY=; b=CdBn2a7pkoLVXFD0rLXaW1HK1syGlKIXaACuY7kfPArWZvKrnVm4R1pju6XXUeV75FXnhY5KBRw+ErXoXznzWJKQ85eEBX4HKbLKwkczkH1WnXOYmMoLQu+zyckbsldAtnLlfH+eF8FenTiY5dVpRa0LVa7fF/Gd05EJy958neA= Received: from BY1PR11MB0390.namprd11.prod.outlook.com (10.162.146.14) by BY1PR11MB0390.namprd11.prod.outlook.com (10.162.146.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.649.16; Fri, 7 Oct 2016 23:54:55 +0000 Received: from BY1PR11MB0390.namprd11.prod.outlook.com ([10.162.146.14]) by BY1PR11MB0390.namprd11.prod.outlook.com ([10.162.146.14]) with mapi id 15.01.0649.024; Fri, 7 Oct 2016 23:54:55 +0000 From: Scott Whitney To: xujian , "pgsql-admin@postgresql.org" Subject: Re: open database on read only file system Thread-Topic: [ADMIN] open database on read only file system Thread-Index: AQHSINNYee79D28WnEKNDEntslyHsaCdaqJvgAAcHACAACQCVw== Date: Fri, 7 Oct 2016 23:54:55 +0000 Message-ID: References: ,, In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=scott@journyx.com; x-originating-ip: [70.112.92.197] x-ms-office365-filtering-correlation-id: 999f02ef-193d-45bc-d505-08d3ef0d5674 x-microsoft-exchange-diagnostics: 1;BY1PR11MB0390;7:vVit4wylJQ1oN21oqwCm6k+KhGfQYyYydjp8PDMMCfWPkAFFo/tP4FYuNDFUtCgRFkkxPI2K986yoRRMe3Exgilf5wcLgYqnSHDjLuHQHxxAPjJ/J4bKHjzqxc1rp8bvHkdmucwzbxFiRC04hfGjri2RBJhVAtT+VfkqOSL2o4sgxFRjsX7kU6AOEl/uItPyY97Qdg2p2QVUgPJLUfduTvI8EpQobGbbo5gSCpAwINSyoVmOrI0SzBUhecNsUY/iN4nMNdcmDda9XqJAeObE4Iyd4WhODWq6CJWMeXLhYEex8xcZdsb139PChgMmcqkId8A/HPKmi/JhPdQsds3tzg== x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BY1PR11MB0390; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(158342451672863)(189930954265078); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6043046)(6042046);SRVR:BY1PR11MB0390;BCL:0;PCL:0;RULEID:;SRVR:BY1PR11MB0390; x-forefront-prvs: 0088C92887 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(7916002)(199003)(189002)(377454003)(19625215002)(97736004)(81156014)(81166006)(8676002)(8936002)(19627405001)(5660300001)(2900100001)(63666004)(92566002)(9686002)(15975445007)(3280700002)(15714825004)(16236675004)(7736002)(7846002)(16234385003)(77096005)(6116002)(586003)(2906002)(101416001)(3846002)(102836003)(87936001)(68736007)(33646002)(122556002)(15974865002)(2950100002)(50986999)(106356001)(99286002)(54356999)(105586002)(76176999)(3660700001)(19580405001)(106116001)(19580395003)(107886002)(95246002)(189998001)(10400500002)(66066001)(11100500001)(5001770100001)(2501003)(86362001)(5002640100001)(51650200001);DIR:OUT;SFP:1101;SCL:1;SRVR:BY1PR11MB0390;H:BY1PR11MB0390.namprd11.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; received-spf: None (protection.outlook.com: journyx.com does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: multipart/alternative; boundary="_000_cmqpipd2aeyul04yifqd2dvs1475884481598emailandroidcom_" MIME-Version: 1.0 X-OriginatorOrg: journyx.com X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Oct 2016 23:54:55.1470 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 83db917a-cb55-44ba-82ef-25aa3e32343f X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR11MB0390 X-Pg-Spam-Score: -1.9 (-) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgsql-admin Precedence: bulk Sender: pgsql-admin-owner@postgresql.org --_000_cmqpipd2aeyul04yifqd2dvs1475884481598emailandroidcom_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 V2VsbCwgSSBtZWFuLCB5ZWFoLiBZb3UncmUgKHByZXN1bWFibHkpIHRyeWluZyB0byB0ZXN0IGNo YW5nZXMgYmVmb3JlIGdvaW5nIGxpdmU/IEJ1dCB5b3UncmUgY2hhbmdpbmcgdGhlIGNvZGUgdG8g cnVuIG9uIGFuIFJPIHN5c3RlbT8gVGhhdCdzIG5vdCBhbiBhcHBsZXMtdG8tYXBwbGVzIHRlc3Qs IGFuZCAod2hpbGUgdW5saWtlbHkpIHlvdXIgcmVzdWx0cyBjb3VsZCBiZSBkaWZmZXJlbnQgaW4g cHJvZHVjdGlvbi4NCg0KSWYgKipJKiogd2VyZSBkb2luZyB0aGlzPyBJIHdvdWxkIHNldCB1cCBy ZXBsaWNhdGlvbiwgZ2V0IGl0IGluIHN5bmMgdG8gbXkgaW50ZXJuYWwgdGVzdCBzZXJ2ZXIsIGJy ZWFrIHRoZSByZXBsaWNhdGlvbiwgcHJvbW90ZSB0aGUgc2xhdmUgYW5kIHJ1biBteSB0ZXN0cy4N Cg0KVGhhdCdzIGEgMToxLg0KDQpUaGF0IHdvdWxkIG1ha2UgbWUgdGhlIG1vc3QgY29uZmlkZW50 Lg0KDQoNCi0tLS0tLS0tIE9yaWdpbmFsIG1lc3NhZ2UgLS0tLS0tLS0NCkZyb206IHh1amlhbiA8 amFtZXN4dUBvdXRsb29rLmNvbT4NCkRhdGU6IDEwLzA3LzIwMTYgNDo0NiBQTSAoR01ULTA2OjAw KQ0KVG86IFNjb3R0IFdoaXRuZXkgPHNjb3R0QGpvdXJueXguY29tPiwgcGdzcWwtYWRtaW5AcG9z dGdyZXNxbC5vcmcNClN1YmplY3Q6IFJFOiBbQURNSU5dIG9wZW4gZGF0YWJhc2Ugb24gcmVhZCBv bmx5IGZpbGUgc3lzdGVtDQoNClRoYW5rcyBTY290dC4gRG8geW91IGtub3cgaWYgdGhlcmUgaXMg YW55IHdheSB0byBzdXBwb3J0IHJlYWQtb25seSBGUz8gZm9yIGluc3RhbmNlIHBhdGNoIG9yIGV4 dGVuc2lvbi4NCg0KSSBub3RpY2VkIHRoZSBlcnJvciBpcyBmcm9tIGZpbGUgbWQuYw0KPT09PT09 PT0NCi8qDQogKiBtZG9wZW4oKSAtLSBPcGVuIHRoZSBzcGVjaWZpZWQgcmVsYXRpb24uDQogKg0K ICogTm90ZSB3ZSBvbmx5IG9wZW4gdGhlIGZpcnN0IHNlZ21lbnQsIHdoZW4gdGhlcmUgYXJlIG11 bHRpcGxlIHNlZ21lbnRzLg0KICoNCiAqIElmIGZpcnN0IHNlZ21lbnQgaXMgbm90IHByZXNlbnQs IGVpdGhlciBlcmVwb3J0IG9yIHJldHVybiBOVUxMIGFjY29yZGluZw0KICogdG8gImJlaGF2aW9y Ii4gIFdlIHRyZWF0IEVYVEVOU0lPTl9DUkVBVEUgdGhlIHNhbWUgYXMgRVhURU5TSU9OX0ZBSUw7 DQogKiBFWFRFTlNJT05fQ1JFQVRFIG1lYW5zIGl0J3MgT0sgdG8gZXh0ZW5kIGFuIGV4aXN0aW5n IHJlbGF0aW9uLCBub3QgdG8NCiAqIGludmVudCBvbmUgb3V0IG9mIHdob2xlIGNsb3RoLg0KICov DQpzdGF0aWMgTWRmZFZlYyAqDQptZG9wZW4oU01nclJlbGF0aW9uIHJlbG4sIEZvcmtOdW1iZXIg Zm9ya251bSwgaW50IGJlaGF2aW9yKQ0KPT09PT09PT0NCg0Kc28gSSBjaGFuZ2VkIHRoZSBmaWxl IG9wZW4gbW9kZSBmcm9tIE9fUkRXUiB0byBPX1JET05MWQ0KZmQgPSBQYXRoTmFtZU9wZW5GaWxl KHBhdGgsIE9fUkRPTkxZIHwgUEdfQklOQVJZLCAwNjAwKTsNCg0KYW5kIGl0IHdvcmtzLiBJIGNh biBvcGVuIHRoZSB1c2VyIGRhdGFiYXNlLCBhbmQgcXVlcnkgdGFibGUgbm93LiBEbyB5b3UgdGhp bmsgaWYgdGhlcmUgaXMgYW55IHBvdGVudGlhbCBwcm9ibGVtIG9mIHRoaXMgY2hhbmdlPw0KSSBq dXN0IG5lZWQgdG8gb3BlbiBkYXRhYmFzZSBvbiByZWFkLW9ubHkgZmlsZSBzeXN0ZW0sIGFuZCBu byBuZWVkIGFueSBjaGFuZ2VzIG9uIHRoZSBjbHVzdGVyLiB0aGFua3MNCg0KSmFtZXMNCg0KDQpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KRnJvbTogc2NvdHRAam91cm55eC5jb20N ClRvOiBqYW1lc3h1QG91dGxvb2suY29tOyBwZ3NxbC1hZG1pbkBwb3N0Z3Jlc3FsLm9yZw0KU3Vi amVjdDogUmU6IFtBRE1JTl0gb3BlbiBkYXRhYmFzZSBvbiByZWFkIG9ubHkgZmlsZSBzeXN0ZW0N CkRhdGU6IEZyaSwgNyBPY3QgMjAxNiAyMDowNjowOSArMDAwMA0KDQpUbyBteSBrbm93bGVkZ2Us IGl0IGlzIG5vdCwgbm8uDQoNCg0KVGhlIEZTIG11c3QgYmUgcmVhZC93cml0ZS4NCg0KDQpXaGF0 IEkgd291bGQgZG8gaW4gdGhpcyBzaXR1YXRpb24gaXMgdG8gbWlncmF0ZSBpdCB0byBhIHRlc3Qv bmV3IHN5c3RlbSB3aGVyZSBubyBvbmUgY2FuIGFjY2VzcyBpdCBhbmQgYnJpbmcgaXQgdXAgci93 Lg0KDQoNCk9yIHNldCB1cCBzdHJlYW1pbmcgcmVwbGljYXRpb24uIFRoYXQgZ2l2ZXMgeW91IHNl bGVjdC1vbmx5Lg0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpGcm9tOiBw Z3NxbC1hZG1pbi1vd25lckBwb3N0Z3Jlc3FsLm9yZyA8cGdzcWwtYWRtaW4tb3duZXJAcG9zdGdy ZXNxbC5vcmc+IG9uIGJlaGFsZiBvZiB4dWppYW4gPGphbWVzeHVAb3V0bG9vay5jb20+DQpTZW50 OiBGcmlkYXksIE9jdG9iZXIgNywgMjAxNiAyOjQzIFBNDQpUbzogcGdzcWwtYWRtaW5AcG9zdGdy ZXNxbC5vcmcNClN1YmplY3Q6IFtBRE1JTl0gb3BlbiBkYXRhYmFzZSBvbiByZWFkIG9ubHkgZmls ZSBzeXN0ZW0NCg0KSGksDQogICAgICAgQ291bGQgeW91IHBsZWFzZSBsZXQgbWUga25vdyBpZiBp dCBpcyBwb3NzaWJsZSB0byBvcGVuIGRhdGFiYXNlIG9uIHJlYWQtb25seSBmaWxlIHN5c3RlbT8N Cg0KSSBoYXZlIGEgcHNvdGdyZXNxbCA5LjYgY2x1c3RlciwgUEdEQVRBIGZvbGRlciBpcyBvbiBS RUFELVdSSVRFIHZvbHVtZShzeXN0ZW0gdm9sdW1lKSwgdXNlciBkYXRhYmFzZSBpcyBjcmVhdGVk IG9uIGEgdGFibGUgc3BhY2Ugd2hpY2ggaXMgbG9jYXRlZCBvbiBhbm90aGVyIHZvbHVtZShkYXRh IHZvbHVtZSkuIE5vdyB3ZSBzZXQgdGhlIGRhdGEgdm9sdW1lIHRvIHJlYWQgb25seSBtb2RlLCBi ZWZvcmUgd2UgY2hhbmdlZCB0aGUgbW9kZSwgSSBhbHNvIGRpc2FibGVkIHRoZSBhdXRvIHZhY3V1 bSwgcnVuIGNoZWNrcG9pbnQsDQphbmQgdmFjdXVtIGZyZWUuIFdlIHJlYm9vdCB0aGUgc2Vydmlj ZSwgZXZlcnl0aGluZyB3YXMgZmluZSB1bnRpbCB3ZSB0cmllZCB0byBhY2Nlc3MgdGhlIGRhdGFi YXNlLg0KPT09PT09PT09PT09PT09DQpwb3N0Z3Jlcz0jIFxjIHVzZXJkYjsNCkZBVEFMOiAgY291 bGQgbm90IG9wZW4gZmlsZSAicGdfdGJsc3BjLzE2Mzg0L1BHXzkuNl8yMDE2MDgxMzEvMTY0Njgv MjY2MiI6IFJlYWQtb25seSBmaWxlIHN5c3RlbQ0KPT09PT09PT09PT09PT09DQoNCndlIGVuYWJs ZWQgdGhlIGRlYnVnIG1vZGUsIGluIGxvZyBmaWxlLCB3ZSBzYXcNCj09PT09PT09PT09PT09PQ0K RkFUQUw6ICA0MjUwMTogY291bGQgbm90IG9wZW4gZmlsZSAicGdfdGJsc3BjLzE2Mzg0L1BHXzku Nl8yMDE2MDgxMzEvMTY0NjgvMjY2MiI6IFJlYWQtb25seSBmaWxlIHN5c3RlbQ0KTE9DQVRJT046 ICBtZG9wZW4sIG1kLmM6NjA5DQo9PT09PT09PT09PT09PT0NCg0KRG9lcyBhbnlvbmUga25vdyBp ZiB0aGVyZSBpcyBhbnl3YXkgdG8gcnVuIGRhdGFiYXNlIG9uIHJlYWQtb25seSBmaWxlIHN5c3Rl bT8gdGhhbmtzDQoNCkphbWVzDQoNCg0KDQoNCg0KSm91cm55eCwgSW5jLg0KNzYwMCBCdXJuZXQg Um9hZCAjMzAwDQpBdXN0aW4sIFRYIDc4NzU3DQp3d3cuam91cm55eC5jb20NCg0KcCA1MTIuODM0 Ljg4ODgNCmYgNTEyLTgzNC04ODU4DQoNCkRvIHlvdSByZWNlaXZlIG91ciBwcm9tb3Rpb25hbCBl bWFpbHM/IFlvdSBjYW4gc3Vic2NyaWJlIG9yIHVuc3Vic2NyaWJlIHRvIHRob3NlIGVtYWlscyBh dCBodHRwOi8vZ28uam91cm55eC5jb20vZW1haWxQcmVmZXJlbmNlL2UvNDkzMi83MTQvDQo= --_000_cmqpipd2aeyul04yifqd2dvs1475884481598emailandroidcom_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable 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 a= pples-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 t= o 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 r= ead-only FS? for instance patch or extension.

I noticed the error is from file md.c
=3D=3D=3D=3D=3D=3D=3D=3D
/*
 * mdopen() -- Open the specified relation.
 *
 * Note we only open the first segment, when there are multiple s= egments.
 *
 * If first segment is not present, either ereport or return NULL= according
 * to "behavior".  We treat EXTENSION_CREATE the s= ame 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)
=3D=3D=3D=3D=3D=3D=3D=3D

so I changed the file open mode from O_RDWR to O_RDONLY
fd =3D PathNameOpenFile(path, O_RDONLY | PG_BINARY, 0600);

and it works. I can open the user database, and query table now. Do yo= u 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 whe= re 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 possi= ble 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 <= /span>until we tried to access the data= base.
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D
postgres=3D# \c userdb;
FATAL:  could not open file "pg_tblspc/16384/PG_9.6_20160813= 1/16468/2662": Read-only file system
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

we enabled the debug mode, in log file, we saw
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
FATAL:  42501: could not open file "pg_tblspc/16384/PG_9.6_2= 01608131/16468/2662": Read-only file system
LOCATION:  mdopen, md.c:609
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

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 unsubscrib= e to those emails at http://go.journyx.com/emailPreference/e/4932/714/ = ;
--_000_cmqpipd2aeyul04yifqd2dvs1475884481598emailandroidcom_--