Обсуждение: how do i kill user sessions?

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

how do i kill user sessions?

От
"Ing. Jhon Carrillo"
Дата:
I have a problem  with the users administration. When I want to erase (drop) some databases there's an error: ** database "name_db" is being accessed by other users.**  I want to kill the user sessions conected but i don't know how to do it   (Kill the user sessions).
 
thanks.

Re: how do i kill user sessions?

От
Scott Marlowe
Дата:
On Wed, 2005-05-11 at 15:08, Ing. Jhon Carrillo wrote:
> I have a problem  with the users administration. When I want to erase
> (drop) some databases there's an error: ** database "name_db" is being
> accessed by other users.**  I want to kill the user sessions conected
> but i don't know how to do it   (Kill the user sessions).

First, use ps to find the pid of the offending users.  for instance:

ps ax|grep postgres|grep test
18925 pts/1    S      0:00 postgres: postgres test [local] idle

then, as the postgres superuser, kill the backend:

kill 18925

Re: how do i kill user sessions?

От
Chris Browne
Дата:
smarlowe@g2switchworks.com (Scott Marlowe) writes:

> On Wed, 2005-05-11 at 15:08, Ing. Jhon Carrillo wrote:
>> I have a problem  with the users administration. When I want to erase
>> (drop) some databases there's an error: ** database "name_db" is being
>> accessed by other users.**  I want to kill the user sessions conected
>> but i don't know how to do it   (Kill the user sessions).
>
> First, use ps to find the pid of the offending users.  for instance:
>
> ps ax|grep postgres|grep test
> 18925 pts/1    S      0:00 postgres: postgres test [local] idle
>
> then, as the postgres superuser, kill the backend:
>
> kill 18925

You may want to be careful about what signal you submit.

If you do "kill -9", for instance, that may be a more severe
"thwacking" of the system than you intended.

Hitting it with "kill -2" is usually the right answer; that's SIGINT.

Other signals may cause the database to kill ALL the backends.
"kill -3", for instance...

"kill -9" will terminate the whole database system, 'with extreme
prejudice,' which will be quite likely to turn out badly :-(.
--
(format nil "~S@~S" "cbbrowne" "acm.org")
http://www.ntlug.org/~cbbrowne/sap.html
Rules of the Evil Overlord #78.  "I will not tell my Legions of Terror
"And he must  be taken alive!" The command will be:  ``And try to take
him alive if it is reasonably practical.''"
<http://www.eviloverlord.com/>

Re: how do i kill user sessions?

От
Scott Marlowe
Дата:
On Wed, 2005-05-11 at 17:49, Chris Browne wrote:
> smarlowe@g2switchworks.com (Scott Marlowe) writes:
>
> > On Wed, 2005-05-11 at 15:08, Ing. Jhon Carrillo wrote:
> >> I have a problem  with the users administration. When I want to erase
> >> (drop) some databases there's an error: ** database "name_db" is being
> >> accessed by other users.**  I want to kill the user sessions conected
> >> but i don't know how to do it   (Kill the user sessions).
> >
> > First, use ps to find the pid of the offending users.  for instance:
> >
> > ps ax|grep postgres|grep test
> > 18925 pts/1    S      0:00 postgres: postgres test [local] idle
> >
> > then, as the postgres superuser, kill the backend:
> >
> > kill 18925
>
> You may want to be careful about what signal you submit.
>
> If you do "kill -9", for instance, that may be a more severe
> "thwacking" of the system than you intended.
>
> Hitting it with "kill -2" is usually the right answer; that's SIGINT.
>
> Other signals may cause the database to kill ALL the backends.
> "kill -3", for instance...
>
> "kill -9" will terminate the whole database system, 'with extreme
> prejudice,' which will be quite likely to turn out badly :-(.

Not exactly.  kill -9 on a single backend will not kill the whole
database but WILL cause all backends to terminate and the database
server to restart, which is rather severe.

Also note that postgresql is designed to survive a kill -9 on all
signals with aplomb, but a production system is definitely not the place
to be testing it, eh?  :)

Also note that while most signal numbers are the same, it's a good idea
to use the text name assigned, as they are always pretty much the same
across different systems.  Without specifying a specific signal, a TERM
should be sent, which is a 15 on both Solaris and Linux and (I think)
BSD.

So, 'kill -s sigterm pidhere' is pretty much the same as 'kill pidhere'.

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to majordomo@postgresql.org so that your
      message can get through to the mailing list cleanly


Re: how do i kill user sessions?

От
Gourish Singbal
Дата:
you can try.

1) ps -ef | grep "postgres"
    see which users are connectioned and than.
2) pkill -f 'postgres: postgres <databasename>';

its more safer i suppose than kill -9

regards
Gourish

On 5/12/05, Ing. Jhon Carrillo <jdigital@cantv.net> wrote:
> I have a problem  with the users administration. When I want to erase (drop)
> some databases there's an error: ** database "name_db" is being accessed by
> other users.**  I want to kill the user sessions conected but i don't know
> how to do it   (Kill the user sessions).
>
> thanks.


--
Best,
Gourish Singbal

Re: how do i kill user sessions?

От
"Anjan Dave"
Дата:
Or,

Kill -s SIGINT <pid of offending statement>

Thanks,
Anjan

-----Original Message-----
From: Gourish Singbal [mailto:gourish@gmail.com]
Sent: Friday, May 13, 2005 9:27 AM
To: Ing. Jhon Carrillo
Cc: pgsql-admin@postgresql.org
Subject: Re: [ADMIN] how do i kill user sessions?

you can try.

1) ps -ef | grep "postgres"
    see which users are connectioned and than.
2) pkill -f 'postgres: postgres <databasename>';

its more safer i suppose than kill -9

regards
Gourish

On 5/12/05, Ing. Jhon Carrillo <jdigital@cantv.net> wrote:
> I have a problem  with the users administration. When I want to erase
(drop)
> some databases there's an error: ** database "name_db" is being
accessed by
> other users.**  I want to kill the user sessions conected but i don't
know
> how to do it   (Kill the user sessions).
>
> thanks.


--
Best,
Gourish Singbal

---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend


database A to database B

От
"Ing. Jhon Carrillo"
Дата:
Hi all,

I have two postgresql 7.4 (Linux) servers:

Server A: it has a original database.
Server B: it doesn't have nothing.


I need to transfer the  database/server A to database/server B through the
some command directly.

thanks.

Jhon Carrillo
Ingeniero en Computación
jdigital@cantv.net
+584145246033
Caracas - Venezuela




Re: database A to database B

От
John DeSoi
Дата:
On May 18, 2005, at 9:27 AM, Ing. Jhon Carrillo wrote:

> I need to transfer the  database/server A to database/server B through
> the
> some command directly.


pg_dumpall might be what you are looking for.

http://www.postgresql.org/docs/8.0/interactive/app-pg-dumpall.html

John DeSoi, Ph.D.
http://pgedit.com/
Power Tools for PostgreSQL


Re: database A to database B

От
Scott Marlowe
Дата:
On Wed, 2005-05-18 at 08:27, Ing. Jhon Carrillo wrote:
> Hi all,
>
> I have two postgresql 7.4 (Linux) servers:
>
> Server A: it has a original database.
> Server B: it doesn't have nothing.
>
>
> I need to transfer the  database/server A to database/server B through the
> some command directly.

You can do something like this:

pg_dumpall -h servera|psql -h serverb

Re: how do i kill user sessions?

От
Scott Marlowe
Дата:
On Wed, 2005-05-11 at 17:49, Chris Browne wrote:
> smarlowe@g2switchworks.com (Scott Marlowe) writes:
>
> > On Wed, 2005-05-11 at 15:08, Ing. Jhon Carrillo wrote:
> >> I have a problem  with the users administration. When I want to erase
> >> (drop) some databases there's an error: ** database "name_db" is being
> >> accessed by other users.**  I want to kill the user sessions conected
> >> but i don't know how to do it   (Kill the user sessions).
> >
> > First, use ps to find the pid of the offending users.  for instance:
> >
> > ps ax|grep postgres|grep test
> > 18925 pts/1    S      0:00 postgres: postgres test [local] idle
> >
> > then, as the postgres superuser, kill the backend:
> >
> > kill 18925
>
> You may want to be careful about what signal you submit.
>
> If you do "kill -9", for instance, that may be a more severe
> "thwacking" of the system than you intended.
>
> Hitting it with "kill -2" is usually the right answer; that's SIGINT.
>
> Other signals may cause the database to kill ALL the backends.
> "kill -3", for instance...
>
> "kill -9" will terminate the whole database system, 'with extreme
> prejudice,' which will be quite likely to turn out badly :-(.

Not exactly.  kill -9 on a single backend will not kill the whole
database but WILL cause all backends to terminate and the database
server to restart, which is rather severe.

Also note that postgresql is designed to survive a kill -9 on all
signals with aplomb, but a production system is definitely not the place
to be testing it, eh?  :)

Also note that while most signal numbers are the same, it's a good idea
to use the text name assigned, as they are always pretty much the same
across different systems.  Without specifying a specific signal, a TERM
should be sent, which is a 15 on both Solaris and Linux and (I think)
BSD.

So, 'kill -s sigterm pidhere' is pretty much the same as 'kill pidhere'.

---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to majordomo@postgresql.org so that your
      message can get through to the mailing list cleanly