Unix Technical Forum

Way to shutdown/freeze/stop an individual database without taking postmaster down?

This is a discussion on Way to shutdown/freeze/stop an individual database without taking postmaster down? within the Pgsql General forums, part of the PostgreSQL category; --> Greetings, I was asked this question, and I wasn't sure if it is possible: do you know of a ...


Go Back   Unix Technical Forum > Database Server Software > PostgreSQL > Pgsql General

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-11-2008, 01:53 AM
W S
 
Posts: n/a
Default Way to shutdown/freeze/stop an individual database without taking postmaster down?

Greetings,

I was asked this question, and I wasn't sure if it is possible:


do you know of a way to stop just one database (not delete/drop) on
our PostgreSQL 8.1 server?


And, while I know how to shut down postmaster, and/or put in rules to
pg_hba.conf to limit access to a certain database, is there any way to
freeze or stop just one database and not others? I'm attempting to
RTFM it, but so far I've had no luck.

Thanks,
Will

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-11-2008, 01:53 AM
Ben
 
Posts: n/a
Default Re: Way to shutdown/freeze/stop an individual databasewithout taking postmaster down?

What do you hope to get out of this that you wouldn't get out of locking
out access?

On Thu, 10 Apr 2008, W S wrote:

> Greetings,
>
> I was asked this question, and I wasn't sure if it is possible:
>
>
> do you know of a way to stop just one database (not delete/drop) on
> our PostgreSQL 8.1 server?
>
>
> And, while I know how to shut down postmaster, and/or put in rules to
> pg_hba.conf to limit access to a certain database, is there any way to
> freeze or stop just one database and not others? I'm attempting to
> RTFM it, but so far I've had no luck.
>
> Thanks,
> Will
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-11-2008, 01:53 AM
Craig Ringer
 
Posts: n/a
Default Re: Way to shutdown/freeze/stop an individual databasewithout taking postmaster down?

W S wrote:
> Greetings,
>
> I was asked this question, and I wasn't sure if it is possible:
>
>
> do you know of a way to stop just one database (not delete/drop) on
> our PostgreSQL 8.1 server?


One possible way:

You can update its pg_database record, setting datallowconn to 'f' to
disable new connections to the DB, then boot off all existing users of
it by killing their backends. A discussion about this appeared here
recently, and a search of the archives for `datallowconn' should find it.

> And, while I know how to shut down postmaster, and/or put in rules to
> pg_hba.conf to limit access to a certain database, is there any way to
> freeze or stop just one database and not others? I'm attempting to
> RTFM it, but so far I've had no luck.


I haven't checked whether pg_hba.conf rules are reloaded, but `pg_ctl
reload' can re-read some settings without a postmaster restart. So you
might be able to disallow access in pg_hba then reload.

I'd be curious to know if that works and if/how it affects existing
connections - though I can always test it myself.

--
Craig Ringer

--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-11-2008, 01:53 AM
Erik Jones
 
Posts: n/a
Default Re: Way to shutdown/freeze/stop an individual database without taking postmaster down?


On Apr 10, 2008, at 2:37 PM, Craig Ringer wrote:
> I haven't checked whether pg_hba.conf rules are reloaded, but `pg_ctl
> reload' can re-read some settings without a postmaster restart. So you
> might be able to disallow access in pg_hba then reload.
>
> I'd be curious to know if that works and if/how it affects existing
> connections - though I can always test it myself.


Yes, a pg_ctl reload will reload pg_hba.conf and, iirc, it does not
kill any existing connections as the values in that file are checked
at time of connection, not time of config load.

Erik Jones

DBA | EmmaŽ
erik@myemma.com
800.595.4401 or 615.292.5888
615.292.0777 (fax)

Emma helps organizations everywhere communicate & market in style.
Visit us online at http://www.myemma.com




--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 04-11-2008, 01:53 AM
Chris Browne
 
Posts: n/a
Default Re: Way to shutdown/freeze/stop an individual database without taking postmaster down?

ws3reg@gmail.com ("W S") writes:
> I was asked this question, and I wasn't sure if it is possible:
>
>
> do you know of a way to stop just one database (not delete/drop) on
> our PostgreSQL 8.1 server?
>
>
> And, while I know how to shut down postmaster, and/or put in rules to
> pg_hba.conf to limit access to a certain database, is there any way to
> freeze or stop just one database and not others? I'm attempting to
> RTFM it, but so far I've had no luck.


You could put in rules to pg_hba.conf to shut users out of a
particular database, and then run "pg_ctl reload" to signal the
postmaster to start applying the new rules.

That will prevent any new connections from coming into the database in
question.

But does not get rid of existing connections. You could kill the
backends associated with the existing connections... You can query
pg_catalog.pg_stat_activity to find the relevant list.
--
let name="cbbrowne" and tld="linuxdatabases.info" in String.concat "@" [name;tld];;
http://cbbrowne.com/info/advocacy.html
Whatever is contradictory or paradoxical is called the back of God.
His face, where all exists in perfect harmony, cannot be seen by man.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 10:52 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
www.UnixAdminTalk.com