Обсуждение: Run postgresql engine in readonly mode?

Поиск
Список
Период
Сортировка

Run postgresql engine in readonly mode?

От
Galland Gregoire
Дата:
Hi all!

I would like to run all my databases in a readonly mode just for a few
hours (migration plan).

Is it a way to tell the postgresql engine to run in readonly?

Sincerly

G.Galland

Re: Run postgresql engine in readonly mode?

От
"Joshua Tolley"
Дата:
On Thu, Oct 9, 2008 at 2:37 AM, Galland Gregoire <greg.pg@practeo.ch> wrote:
> Hi all!
>
> I would like to run all my databases in a readonly mode just for a few
> hours (migration plan).
>
> Is it a way to tell the postgresql engine to run in readonly?
>
> Sincerly
>
> G.Galland
>

This comes up periodically on lists. There's not really a way. You can
set transactions as read only (see docs for SET TRANSACTION) but
that's probably not feasible, as you'd have to change your
application. You might create triggers preventing INSERTs and UPDATEs,
but a good bet is just to back up before hand and warn your users.

- Josh / eggyknap

Re: Run postgresql engine in readonly mode?

От
"Scott Marlowe"
Дата:
On Sat, Oct 11, 2008 at 7:41 PM, Joshua Tolley <eggyknap@gmail.com> wrote:
> On Thu, Oct 9, 2008 at 2:37 AM, Galland Gregoire <greg.pg@practeo.ch> wrote:
>> Hi all!
>>
>> I would like to run all my databases in a readonly mode just for a few
>> hours (migration plan).
>>
>> Is it a way to tell the postgresql engine to run in readonly?
>
> This comes up periodically on lists. There's not really a way. You can
> set transactions as read only (see docs for SET TRANSACTION) but
> that's probably not feasible, as you'd have to change your
> application. You might create triggers preventing INSERTs and UPDATEs,
> but a good bet is just to back up before hand and warn your users.

There are a few other ways to skin this cat, depending on your use
case.  If you have a slony master and a slony slave, you can set the
pg_hba.conf file to disallow connections on the master (except to the
replication slaves) and let the users keep hitting the read only
slave.  Since Slony was designed to run on different versions of pgsql
to allow for migration, this might be a good answer for the OP.

Re: Run postgresql engine in readonly mode?

От
Steve Atkins
Дата:
On Oct 11, 2008, at 6:41 PM, Joshua Tolley wrote:

> On Thu, Oct 9, 2008 at 2:37 AM, Galland Gregoire
> <greg.pg@practeo.ch> wrote:
>> Hi all!
>>
>> I would like to run all my databases in a readonly mode just for a
>> few
>> hours (migration plan).
>>
>> Is it a way to tell the postgresql engine to run in readonly?
>>
>> Sincerly
>>
>> G.Galland
>>
>
> This comes up periodically on lists. There's not really a way. You can
> set transactions as read only (see docs for SET TRANSACTION) but
> that's probably not feasible, as you'd have to change your
> application. You might create triggers preventing INSERTs and UPDATEs,
> but a good bet is just to back up before hand and warn your users.

set default_transaction_read_only to true?

Not entirely proof against a determined user, but good enough for most
things, I'd guess.

Cheers,
   Steve