pg_ctl

Name

pg_ctl -- PostgreSQL¼­¹öÀÇ ±âµ¿, Á¤Áö, Àç±âµ¿

Synopsis

pg_ctl start [-w] [-s] [-D datadir ] [-l filename ] [-o options ] [-p path ]
pg_ctl stop [-W] [-s] [-D datadir ] [-m s[mart] | f[ast] | i[mmediate] ]
pg_ctl restart [-w] [-s] [-D datadir ] [-m s[mart] | f[ast] | i[mmediate] ] [-o options ]
pg_ctl reload [-s] [-D datadir ]
pg_ctl status [-D datadir ]
pg_ctl kill [ signal_name ] [ process_id ]
pg_ctl register [-N servicename ] [-U username ] [-P password ] [-D datadir ] [-w] [-o options ]
pg_ctl unregister [-N servicename ]

¼³¸í

pg_ctl´Â PostgreSQLÀÇ ¿¬±¸ ÃÖÁ¾ ´Ü°è ¼­¹ö( postgres )¸¦ ±âµ¿, Á¤Áö, Àç±âµ¿ÇѴ٠ȤÀº °¡µ¿ÁßÀÇ ¼­¹ö »óŸ¦ Ç¥½ÃÇϱâ À§ÇÑ À¯Æ¿¸®Æ¼ÀÔ´Ï´Ù. ºñ·Ï ¼­¹ö´Â ¼öµ¿À¸·Î ±âµ¿ÇÏ´Â Àϵµ °¡´ÉÇÏÁö¸¸, pg_ctl´Â ·Î±× Ãâ·ÂÀÇ ¸®µð·ºÆ®³ª, Å͹̳ΰú ÇÁ·Î¼¼½º ±×·ìÀÇ ÀûÀýÇÑ ºÐ¸®µîÀÇ ÀÛ¾÷À» ĸ½¶È­ÇØ ÁÝ´Ï´Ù. ÇÑÃþ ´õ Á¤Áö(shutdown) Á¦¾î¸¦ À§ÇÑ Æí¸®ÇÑ ¿É¼Çµµ Á¦°øÇÕ´Ï´Ù.

start¸ðµå¿¡¼­´Â, »õ·Î¿î ¼­¹ö°¡ ½ÃÀÛÇÕ´Ï´Ù. ¼­¹ö´Â ¹é±×¶ó¿îµå¿¡¼­ ±âµ¿µÇ¾î Ç¥ÁØ ÀÔ·ÂÀº/dev/null¿¡ Á¢¼ÓµË´Ï´Ù. Ç¥ÁØ Ãâ·Â°ú Ç¥ÁØ ¿¡·¯´Â, (-l¿É¼ÇÀÌ »ç¿ëµÇ¾úÀ» °æ¿ì) ·Î±× ÆÄÀÏ¿¡ Ãß°¡µÇ°Å³ª pg_ctlÀÇ Ç¥ÁØ Ãâ·Â(Ç¥ÁØ ¿¡·¯ Ãâ·ÂÀÌ ¾Æ´Õ´Ï´Ù)¿¡ ¸®µð·ºÆ® µË´Ï´Ù. ·Î±× ÆÄÀÏÀ» ÁöÁ¤ÇÏÁö ¾Ê´Â °æ¿ì,pg_ctlÀÇ Ç¥ÁØ Ãâ·ÂÀº, ÆÄÀÏ¿¡ ¸®µð·ºÆ® ÇÏ´ÂÁö, rotatelogs°°Àº ·Î±× ȸÀü ÇÁ·Î±×·¥°ú °°Àº ´Ù¸¥ ÇÁ·Î¼¼½º¿¡ ÆÄÀÌÇÁ·Î °Ç³×ÁÖ¾î¾ß ÇÕ´Ï´Ù. ±×·¸°Ô ÇÏÁö ¾ÊÀ¸¸épostgres´Â Ãâ·ÂÀ»(¹é±×¶ó¿îµå·ÎºÎÅÍ) Á¦¾î ´Ü¸»¿¡ ¾µ ¼ö ÀÖÀ» °ÍÀÌ°í ½©ÀÇ ÇÁ·Î¼¼½º ±×·ìÀ¸·ÎºÎÅÍ ¶¼¾î³¾ ¼ö°¡ ¾ø½À´Ï´Ù.

stop¸ðµå´Â, ÁöÁ¤µÈ µ¥ÀÌÅÍ µð·ºÅ丮¿¡¼­ °¡µ¿Çϰí ÀÖ´Â ¼­¹ö¸¦ Á¤Áö(½¸´Ù¿î)ÇÕ´Ï´Ù. 3°³ÀÇ ´Ù¸¥ Á¤Áö ¸Þ¼Òµå´Â -m¿É¼ÇÀ» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù. "Smart"¸ðµå´Â ¸ðµç Ŭ¶óÀÌ¾ðÆ®°¡ ¿¬°áÀÌ ²÷±æ ¶§±îÁö ±â´Ù¸³´Ï´Ù. À̰ÍÀÌ ±âº»°ªÀÔ´Ï´Ù. "Fast"¸ðµå´Â Ŭ¶óÀÌ¾ðÆ®°¡ Àý´Ü ÇÒ ¶§±îÁö ±â´Ù¸®Áö ¾Ê½À´Ï´Ù. ¸ðµç ½ÇÇàÁßÀÇ Æ®·£Àè¼Ç(transaction)¸¦ ·Ñ¹é(rollback) ÇØ, Ŭ¶óÀÌ¾ðÆ®¿ÍÀÇ Á¢¼ÓÀ» °­Á¦ÀûÀ¸·Î ¿¬°áÀÌ ²÷±ä ÈÄ ¼­¹ö¸¦ Á¤ÁöÇÕ´Ï´Ù. "Immediate"¸ðµå´Â, Ŭ¸° Á¤Áö(shutdown) 󸮾øÀÌ, ¸ðµç ¼­¹ö ÇÁ·Î¼¼½º¸¦ Áß´ÜÇÕ´Ï´Ù. À̰ÍÀ» ÁöÁ¤Çϸé(ÀÚ), Àç±âµ¿½Ã¿¡ º¹±¸°¡ ½ÇÇàµË´Ï´Ù.

restart¸ðµå´Â È¿°úÀûÀ¸·Î ½ÃÀÛÇϸ鼭 ½ÇÇàµÇ´Â Á¤Áö¸¦ ½ÇÇàÇÕ´Ï´Ù. ÀÌ ¶§ postgres ¸í·É ¶óÀÎ ¿É¼ÇÀ» º¯°æÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

reload¸ðµå´Â postmasterÇÁ·Î¼¼½º¸¦ SIGHUP½Ã±×³ÎÀ» º¸³À´Ï´Ù. (postgresql.conf, pg_hba.confµî) ¼³Á¤ ÆÄÀÏÀ» ÀçÀбâÇÏ´Â ÀÌÀ¯ ÀÔ´Ï´Ù. À̰Ϳ¡ ÀÇÇØ ¿ÏÀüÇÑ Àç±âµ¿À» ÇÏ´Â ÀÏ ¾øÀÌ ¼³Á¤ ÆÄÀÏÀÇ ¿É¼ÇÀÇ º¯°æÀ» ¹Ý¿µ½Ãų ¼ö°¡ ÀÖ½À´Ï´Ù.

status¸ðµå´Â ÁöÁ¤ÇÑ µ¥ÀÌÅÍ µð·ºÅ丮¿¡¼­ ¼­¹ö°¡ ±âµ¿Çϰí ÀÖÀ»Áö ¾î¶³Áö¸¦ È®ÀÎÇÕ´Ï´Ù. ±âµ¿Çϰí ÀÖ´Â °æ¿ì´ÂPID¿Í ¼­¹ö¸¦ ±âµ¿ÇÒ ¶§¿¡ »ç¿ëµÈ ¸í·É ¶óÀÎ ¿É¼ÇÀ» Ç¥½ÃÇÕ´Ï´Ù.

kill¸ðµå¿¡¼­´Â ÁöÁ¤ÇÑ ÇÁ·Î¼¼½º¿¡ ½Ã±×³ÎÀ» ¼Û½ÅÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº ƯÈ÷,killÄ¿¸àµå¸¦ °¡ÁöÁö ¾Ê´ÂMicrosoft Windows·Î À¯¿ëÇÕ´Ï´Ù. ¼­Æ÷Æ®ÇÏ´Â ½Ã±×³Î¸íÀÇ À϶÷Àº--help¸¦ »ç¿ëÇØ È®ÀÎÇØ ÁÖ¼¼¿ä.

register¸ðµå¿¡ ÀÇÇØ Microsoft Windows»ó¿¡¼­ ½Ã½ºÅÛ ¼­ºñ½º¸¦ µî·ÏÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

unregister¿¡ ÀÇÇØ ÀÌÀü¿¡ register¸í·É¿¡ ÀÇÇØ µî·ÏµÈ Microsoft Windows»óÀÇ ½Ã½ºÅÛ ¼­ºñ½º¸¦ µî·Ï ÇØÁ¦ÇÒ ¼ö°¡ ÀÖ½À´Ï´Ù.

¿É¼Ç

-D datadir

µ¥ÀÌÅͺ£À̽º ÆÄÀÏÀÇ ÆÄÀÏ ½Ã½ºÅÛ»óÀÇ Àå¼Ò¸¦ ÁöÁ¤ÇÕ´Ï´Ù. À̰ÍÀÌ »ý·« µÇ¾úÀ» °æ¿ì PGDATAȯ°æ º¯¼ö°¡ »ç¿ëµË´Ï´Ù.

-l filename

¼­¹ö ·Î±× Ãâ·Â¹°À» filename ¿¡ Ãß°¡ÇÕ´Ï´Ù. ±× ÆÄÀÏÀÌ Á¸ÀçÇÏÁö ¾Ê´Â °æ¿ì´Â ÀÛ¼ºµË´Ï´Ù. umask´Â 077À¸·Î ¼³Á¤µÇ±â µÇ°í ´Ù¸¥ »ç¿ëÀڷκÎÅÍÀÇ ·Î±× ÆÄÀÏ¿¡ÀÇ ¾×¼¼½º´Â ±âº»°ª¿¡¼­´Â Çã°¡µÇÁö ¾Ê½À´Ï´Ù.

-m mode

Á¤Áö(½¸´Ù¿î) ¸ðµå¸¦ ÁöÁ¤ÇÕ´Ï´Ù. mode ´Âsmart,fast,immediate, ȤÀº ÀÌ 3°³ÀÇ ¸ðµå¸íÀÇ Ã³¹ø? 1 ¹®ÀÚ¸¦ ÀâÀ» ¼ö°¡ ÀÖ½À´Ï´Ù.

-o options

Á÷Á¢postgres¿¡°Ô °Ç³×Áö´Â ¿É¼ÇÀ» ÁöÁ¤ÇÕ´Ï´Ù.

ÀÌ ¿É¼ÇÀº Åë»ó, 1 ±×·ìÀ¸·Î¼­ °Ç³×¹Þ´Â °ÍÀ» º¸ÁõÇϱâ À§Çؼ­, ´ÜÀÏ ÀοëºÎÈ£ ¶Ç´Â ÀÌÁß ÀοëºÎÈ£·Î µÑ·¯½ÎÀÔ´Ï´Ù.

-p path

postgresÀÇ ½ÇÇà ÇÁ·Î±×·¥ÀÇ À§Ä¡¸¦ ÁöÁ¤ÇÕ´Ï´Ù. ±âº»°ª¿¡ ÀÇÇØ postgresÀÇ ½ÇÇà °¡´É¼ºÀº pg_ctl¿Í °°Àº µð·ºÅ丮¿¡ ÀÖ´Â °ÍÀ¸·Î ºÎÅÍ ½ÇÇàµË´Ï´Ù. ¶Ç, ÀÌ µð·ºÅ丮¿¡ Á¸ÀçÇÏÁö ¾ÊÀ¸¸é, ¼³Ä¡ µð·ºÅ丮°¡ hard-wired µË´Ï´Ù. ÀÌ ¿É¼ÇÀº, ¹«¾ùÀΰ¡ ÀÌ·ÊÀûÀÎ ÀÏÀ» Çϰí ÀÖ¾îpostgres ½ÇÇà°¡´É¼ºÀÌ ¹ß°ßµÇÁö ¾Ê´Â ¿¡·¯°¡ ³ª¿À´Â °æ¿ì »ç¿ëÇÒ ÇÊ¿ä´Â ¾ø½À´Ï´Ù.

-s

¿ÀÁ÷ ¿¡·¯ ¸Þ¼¼Áö¸¸À» Ç¥½ÃÇÏ°í ±× ¿ÜÀÇ Á¤º¸¸¦ Ç¥½ÃÇÏÁö ¾Ê½À´Ï´Ù.

-w

±âµ¿ ȤÀº Á¤Áö 󸮰¡ ¿Ï·áÇÏ´Â °ÍÀ» ±â´Ù¸³´Ï´Ù. µðÆúÆ®ÀÇ ´ë±â ½Ã°£Àº 60ÃÊÀÔ´Ï´Ù. Á¤Áö(shutdown) ó¸®ÀÇ ±âº»°ªÀÔ´Ï´Ù. ¼º°øÀûÀÎ Á¤Áö(shutdown)´Â PIDÆÄÀÏÀÌ »èÁ¦¿¡ ÀÇÇØ ³ªÅ¸³³´Ï´Ù. ½ÃÀÛÀ» À§ÇØ psql -l°¡ ¼º°øÇÒÁö ¾î¶³Áö¿¡ ÀÇÇØ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. pg_ctl´Â psql¿¡ ÀûÀýÇÑ Æ÷Æ®¸¦ »ç¿ëÇÏ·Á°í ÇÕ´Ï´Ù. PGPORTȯ°æ º¯¼ö°¡ ÁöÁ¤µÇ°í ÀÖÀ¸¸é, ±×°ÍÀÌ »ç¿ëµË´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é postgresql.confÆÄÀÏ·Î Æ÷Æ®°¡ ¼³Á¤µÇ¾î ÀÖ´Ù¸é ¾î´ÀÂÊÀ̳ª ¼³Á¤µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì´Â,PostgreSQLÀÇ ÄÄÆÄÀϽÃÀÇ ±âº»ÀÇ Æ÷Æ®°¡ »ç¿ëµË´Ï´Ù(±âº»°ªÀº 5432). ´ë±âÇϰí ÀÖ´Â µ¿¾È pg_ctl´Â ±âµ¿ ȤÀº Á¤Áö°¡ ¼º°ø¿¡ ±âÃÊÇÑ ¿Ã¹Ù¸¥ Á¾·á Äڵ带 µ¹·ÁÁÝ´Ï´Ù.

-W

½ÃÀÛ È¤Àº Á¤Áö°¡ ¿Ï·áÇÏ´Â °ÍÀ» ±â´Ù¸®Áö ¾Ê½À´Ï´Ù. À̰ÍÀº ½ÃÀÛ°ú Àç½ÃÀÛÀÇ ±âº»°ªÀÔ´Ï´Ù.

Windows¿ë ¿É¼Ç

-N servicename

µî·ÏÇÏ´Â ½Ã½ºÅÛ ¼­ºñ½ºÀÇ À̸§ÀÔ´Ï´Ù. ÀÌ À̸§Àº ¼­ºñ½º¸í°ú Ç¥½Ã¸íÀ̶ó°í ÇØµµ »ç¿ëµË´Ï´Ù.

-P password

¼­ºñ½º¸¦ ½ÃÀÛÇÏ´Â »ç¿ëÀÚ¸¦ À§ÇÑ ÆÐ½º¿öµåÀÔ´Ï´Ù.

-U username

¼­ºñ½º¸¦ ½ÃÀÛÇÏ´Â »ç¿ëÀÚÀÇ À̸§ÀÔ´Ï´Ù. µµ¸ÞÀÎ »ç¿ëÀÚÀÇ °æ¿ì DOMAIN\username¶ó°í ÇÏ´Â ¼­½ÄÀ» »ç¿ëÇØ ÁÖ¼¼¿ä.

ȯ°æ

PGDATA

±âº»°ªÀÇ µ¥ÀÌÅÍ º¸Á¸ Àå¼ÒÀÔ´Ï´Ù.

PGPORT

psql ÀÇ ±âº»°ª Æ÷Æ®ÀÔ´Ï´Ù(-w¿É¼ÇÀ¸·Î »ç¿ëµË´Ï´Ù).

ÀÌ ´Ù¸¥ ¼­¹ö º¯¼ö¿¡ ´ëÇØ¼­´Â postgres À» ÂüÁ¶ÇØ ÁÖ¼¼¿ä. ¶Ç, ÀÌ À¯Æ¿¸®Æ¼´Â ´Ù¸¥ ´ëºÎºÐÀÇPostgreSQLÀ¯Æ¿¸®Æ¼¿Í °°ÀÌ libpq·Î Áö¿øµÇ´Â ȯ°æ º¯¼ö¸¦ »ç¿ëÇÕ´Ï´Ù(Section 29.12¸¦ ÂüÁ¶ÇØ ÁÖ¼¼¿ä).

ÆÄÀÏ

postmaster.pid

µ¥ÀÌÅÍ µð·ºÅ丮¿¡ ÀÌ ÆÄÀÏÀÌ Á¸Àç¿©ºÎ´Â pg_ctl°¡ ¼­¹ö°¡ ÇöÀç °¡µ¿ÁßÀΰ¡ ¾Æ´Ñ°¡¸¦ °áÁ¤Çϴµ¥ µµ¿òÀ» ÁÝ´Ï´Ù.

postmaster.opts.default

ÀÌ ÆÄÀÏÀÌ µ¥ÀÌÅÍ µð·ºÅ丮¿¡ ÀÖÀ¸¸é pg_ctl(start¸ðµå)´Â -o·Î µ¡¾²±âµÇ´Â °ÍÀ» Á¦¿ÜÇϰí ÀÌ ÆÄÀÏÀÇ ³»¿ëÀ» ¿É¼ÇÀ¸·Î¼­postgres¿¡ °Ç³×ÁÝ´Ï´Ù.

postmaster.opts

ÀÌ ÆÄÀÏÀÌ µ¥ÀÌÅÍ µð·ºÅ丮¿¡ ÀÖÀ¸¸é pg_ctl(ÀÇrestart¸ðµå)´Â, -o¿É¼ÇÀ¸·Î µ¡¾²±âµÇ´Â °Í°ú ´Þ¸® ÀÌ ÆÄÀÏÀÇ ³»¿ëÀ» ¿É¼ÇÀ¸·Î¼­postgres¿¡ °Ç³×ÁÝ´Ï´Ù. ¶Ç, ÀÌ ÆÄÀÏÀÇ ³»¿ëÀÌstatus¸ðµå·Î Ç¥½ÃµË´Ï´Ù.

postgresql.conf

µ¥ÀÌÅÍ µð·ºÅ丮¿¡ ³õ¿©Áö´Â ÀÌ ÆÄÀÏÀºstart¸ðµå·Î -w°¡ »ç¿ëµÇ¾úÀ» ¶§¿¡ psql°ú ÇÔ²² »ç¿ëÇÏ´Â ÀûÀýÇÑ Æ÷Æ®¸¦ ã¾Æ³»±â À§Çؼ­ ÇØ¼®µË´Ï´Ù.

ÁÖ¼®

¿ÏÀüÇÑ ±âµ¿À» ½Ç½ÃÇÒ ¶§±îÁöÀÇ ´ë±â Á¶ÀÛÀº ÃæºÐÈ÷ ¼³°èµÇ°í ÀÖÁö ¾Ê½À´Ï´Ù. ¾×¼¼½º Á¦¾îÀÇ ¼³Á¤À¸·Î¼­ ·ÎÄà Ŭ¶óÀÌ¾ðÆ®´Â ´ëÈ­ÀûÀ¸·Î Á¶ÀÛÀ» ½Ç½ÃÇÏÁö ¾ÊÀ¸¸é Á¢¼ÓÇÒ ¼ö ¾ø°Ô µÇ¾î ÀÖ´Â °æ¿ì´Â ½ÇÆÐÇÒ °¡´É¼ºÀÌ ÀÖ½À´Ï´Ù(ÆÐ½º¿öµå ÀÎÁõÀÌ ÇÊ¿äÇÑ °æ¿ì µî).

¿¹Á¦

Starting the Server

¼­¹ö¸¦ ½ÃÀÛÇÕ´Ï´Ù.

$ pg_ctl start

ÀÌÇÏ´Â ¼­¹ö°¡ ÀϾ ¶§±îÁö ´ë±âÇÏ´Â ±âµ¿ ¿¹ÀÔ´Ï´Ù.

$ pg_ctl -w start

Æ÷Æ® 5433À» »ç¿ëÇØ fsync¾øÀ½À¸·Î ¼­¹ö¸¦ ±âµ¿ÇÕ´Ï´Ù.

$ pg_ctl -o "-F -p 5433" start

¼­¹öÀÇ Á¤Áö

$ pg_ctl stop

¼­¹ö¸¦ Á¤ÁöÇÕ´Ï´Ù. -m½ºÀ§Ä¡¸¦ »ç¿ëÇÏ¸é ¾î¶»°Ô ¿¬±¸ ÃÖÁ¾ ´Ü°è¸¦ Á¤Áö(shuts down)½ÃŰ´ÂÁö¸¦ Á¦¾îÇÒ ¼ö ÀÖ½À´Ï´Ù.

¼­¹öÀÇ Àç½ÃÀÛ

¼­¹öÀÇ Àç½ÃÀÛÀº ¼­¹ö¸¦ Á¤ÁöÇØ Çѹø ´õ ±âµ¿ÇÏ´Â °Í°ú °ÅÀÇ °°Áö¸¸, ´Ù¸¥ °ÍÀº pg_ctl°¡ ÀÌÀü ½ÇÇàÇÏ´ø ÀνºÅϽº¿¡°Ô °Ç³×Á® ÀÖ´ø ¸í·É ¶óÀÎ ¿É¼ÇÀ» º¸Á¸Çϰí ÀçÀÌ¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. ¾Æ·¡¿Í °°ÀÌ´Â ¼­¹ö¸¦ Àç±âµ¿ÇÏ´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀÔ´Ï´Ù.

$ pg_ctl restart

¼­¹öÀÇ Àç½ÃÀÛÀ» À§ÇØ ¼­¹öÀÇ Á¤Áö(shut down)À» ±â´Ù¸®°í ³ª¼­ ½ÃÀÛÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.

$ pg_ctl -w restart

ÀÌÇÏ´Â Æ÷Æ® 5433À» »ç¿ëÇØ Àç½ÃÀÛÇØ, ±× ÈÄ¿¡fsync¸¦ ¹«È¿·Î ÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù.

$ pg_ctl -o "-F -p 5433" restart

¼­¹ö »óÅ ǥ½Ã

¾Æ·¡¿Í °°ÀÌ pg_ctl·ÎºÎÅÍ »óÅÂÀÇ Ãâ·ÂÀÇ ¿¹ÀÔ´Ï´Ù.

$ pg_ctl status
pg_ctl: server is running (pid: 13718)
Command line was:
/usr/local/pgsql/bin/postgres '-D' '/usr/local/pgsql/data' '-p' '5433' '-B' '128'

À̰ÍÀº Àç½ÃÀÛ(restart) ¸ðµå·Î ºÒ·Á °¡´Â ¸í·É ¶óÀÎÀÔ´Ï´Ù.

°ü·Ã Ç׸ñ

postgres