Thread: how do i kill user sessions?
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.
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
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/>
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
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
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
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
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
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
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