IOTN :: Field Book :: PostgreSQL ȸ¿ø°¡ÀÔ pg_dump / pg_restore[ psql (8.4.20) to psql (14.0) ] ÃÖ±æÈ£ [LIST] 2021-10-20 10:59:02, Á¶È¸ : 454 »ç¿ëÀÚ Å×À̺í ÀúÀåµÈDB pg_dump -U user_000 -w -t test -v -Ft -f test.tar cell_000 Å×À̺í À§Ä¡ÇÑDB pg_dump -t test -v -Ft -f test.tar cell_000 ÀúÀåµÈ DB¸í, Å×À̺í, °èÁ¤ È®ÀÎ [ ²À DB, °èÁ¤ ¸¸µé°í ÇÏÀÚ ] pg_restore -l test.tar ======================================= ; dbname: cell_000 316; 1259 515405 TABLE public test segio pg_restore -v -d cell_000 -C -Ft test.tar FATAL: database "cell_000" does not exist -t optionÀ¸·Î ¹é¾÷ÇØ¼ DB ¸¸µé¼ö ¾ø´Ù. create database cell_000; create user segio password 'segio'; -- DB¸¸ »ý¼º½Ã postgres °èÁ¤À¸·Î ¸¸µé¾îÁø´Ù. pg_restore °è¼Ó ½ÇÇà Çϸé PK ¾øÀ¸¸é µ¥ÀÌÅÍ Áߺ¹À¸·Î µé¾î°£´Ù. zipcode¸¸ cell_000 db¿¡ import pg_restore -v -t zipcode full.tar -d cell_000 Å×ÀÌºí º¹±¸ ====================================================================== ´Ù¸¥ À̸§ º¹±¸ ¿É¼ÇÀÌ ¾ø´Ù. [ º¹±¸´Â ¹é¾÷ »óÅ·Πº¹±¸ µÈ´Ù. ] ±âÁ¸ Å×À̺í rename ÈÄ º¹±¸ ÇÏ´Â°Ô ½±´Ù. ======================================= alter table project_job rename to project_job_bk; \d project_job_bk \d+ project_job_bk pg_restore -v -t project_job -d postgres -C -F t /backup/segio.cell_000.tar schema ¹Ù²ã¼ º¹±¸ ÇÏ´Â ¹æ¹ý ±âÁ¸ schema¸¦ ¹Ù²Ù°í º¹±¸ÇÏ°í ´Ù½Ã ¹Ù²ã¾ß ÇÑ´Ù. ======================================= alter schema public rename to pub; create schema public; pg_restore -v -t project_job -d postgres -C -F t /backup/segio.cell_000.tar alter schema public rename to reco ; alter schema pub rename to public ; select * from reco.project_job; \d reco.project_job \d+ reco.project_job ¹é¾÷ ¹æ¹ý ====================================================================== # login without password vi ~/.pgpass *:*:*:segio:segiopwd -bash-4.1$ psql -Usegio cell_000 psql (8.4.20) #!/bin/sh cd /home/backup/tar/ pg_dump -Usegio cell_000 -v -F t -f segio.cell_000.`date +%w`.tar >segio.cell_000.`date +%w`.log 2>&1 gzip segio.cell_000.`date +%w`.tar # 5G to 0.5G ¾ÐÃà # ¹é¾÷ ¹ÞÀº ±×´ë·Î º¹±¸ ====================================================================== # -d ¾øÀ¸¸é ¿¡·¯ ³ª¼ ³Ö´Â´Ù. -C : create database gunzip segio.cell_000.1.tar pg_restore -v -C -d postgres -F t /backup/segio.cell_000.tar # log pg_restore: connecting to database for restore pg_restore: creating DATABASE "cell_000" pg_restore: connecting to new database "cell_000" pg_restore: creating SCHEMA "public" pg_restore: while PROCESSING TOC: pg_restore: from TOC entry 3; 2615 2200 SCHEMA public postgres pg_restore: error: could not execute query: ERROR: schema "public" already exists Command was: CREATE SCHEMA public; pg_restore: creating COMMENT "SCHEMA public" pg_restore: creating TABLE "public.approval_appline_info" ..... pg_restore: creating CONSTRAINT "public.worker_info_pkey" pg_restore: creating CONSTRAINT "public.worker_licensed_info_pkey" pg_restore: creating INDEX "public.memo_m_date_idx" pg_restore: creating INDEX "public.memo_u_id_idx" pg_restore: creating INDEX "public.private_m_no_idx" pg_restore: creating INDEX "public.private_p_date_idx" pg_restore: creating INDEX "public.private_u_id_idx" pg_restore: creating INDEX "public.protect_u_id_idx" pg_restore: creating INDEX "public.stalk_device_uid_idx" pg_restore: creating INDEX "public.user_info_uid_idx" pg_restore: creating FK CONSTRAINT "public.approval_appline_info_p_no_fkey" pg_restore: creating FK CONSTRAINT "public.approval_doc_backup_p_no_fkey" pg_restore: creating FK CONSTRAINT "public.approval_favorite_doc_no_fkey" pg_restore: creating FK CONSTRAINT "public.approval_line_p_no_fkey" pg_restore: creating ACL "public" pg_restore: warning: errors ignored on restore: 2 -bash-4.2$ -bash-4.2$ psql cell_000 psql (14.0) Type "help" for help. cell_000=# \d List of relations Schema | Name | Type | Owner --------+-------------------------------------+----------+---------- public | approval_appline_info | table | user_000 public | approval_appline_info_no_seq | sequence | user_000 public | approval_appline_list | table | user_000 public | approval_appline_list_no_seq | sequence | user_000 public | approval_attach_info | table | user_000 public | approval_attach_info_no_seq | sequence | user_000 public | approval_comment_info | table | user_000 public | approval_comment_info_no_seq | sequence | user_000 public | approval_comment_view | view | user_000 -bash-4.2$ echo $LANG en_US.UTF-8 -bash-4.2$ psql postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- cell_000 | user_000 | UTF8 | en_US.UTF-8 | en_US.UTF-8 | SecureCRT encoding: UTF-8 ÇÑ±Û Ç¥Çö ÀßµÊ. utf8 order by ¾ÈµÊ. Á¶Ä¡¾È: select .... order by 1 collate "ko_KR.utf8" 3.235.60.197 LIST CategoryAdminTroubleshoot Á¦¸ñ ÀÛ¼ºÀÚ ÀÛ¼ºÀÏ Á¶È¸ Admin psql 10.7 oracle dblink [ oracle_fdw db link ] ÃÖ±æÈ£ 2023/07/25 20 Admin HA º¹±¸ test ÃÖ±æÈ£ 2023/03/03 31 Admin log: COPY public.xxxx (xxx, xxx, xxx) TO stdout; / pg_dump ¹é¾÷½Ã ¹ß»ý ÃÖ±æÈ£ 2023/03/03 14 Admin requested timeline x is not a child of this server's history ÃÖ±æÈ£ 2023/03/02 16 Admin recovery_target_action / archive log ¹Þ¾Æ¼ °è¼Ó º¹±¸ ÃÖ±æÈ£ 2023/02/28 25 Admin recovery_target_action = 'pause' / select pg_wal_replay_pause(); / select pg_get_wal_replay_pause_state(); ÃÖ±æÈ£ 2023/02/27 6 Admin memory buffer cache ÃÖ±æÈ£ 2023/02/06 14 Admin active session, pid, lock sql , kill pid / pg_terminate_backend ÃÖ±æÈ£ 2023/02/06 60 Admin psql HA ÃÖ±æÈ£ 2023/02/05 46 Admin pg_ctl start -D . | postmaster.pid | /tmp/.s.PGSQL.5432 | ÃÖ±æÈ£ 2023/02/03 31 Admin pg_waldump ÃÖ±æÈ£ 2023/02/03 9 Troubleshoot $PGDATA/pg_wal/00000002.history ¾ø´Â°æ¿ì [ ERROR: could not open file "pg_wal/00000002.history": ENOENT ] ÃÖ±æÈ£ 2023/02/02 24 Admin pg_basebackup º¹±¸ test lv:9 ÃÖ±æÈ£ 2023/02/02 23 Admin shmem_exit(0): 0 before_shmem_exit callbacks to make [ ·Î±× ±â·Ï¿ë ] ÃÖ±æÈ£ 2023/02/01 46 Troubleshoot LOG: invalid resource manager ID in primary checkpoint record ÃÖ±æÈ£ 2023/02/01 24 Admin pg_restore [ ´Ù¸¥ °èÁ¤, ´Ù¸¥ DB, sql ÆÄÀÏ·Î ÀúÀå ] ÃÖ±æÈ£ 2023/01/30 16 Admin pg_basebackup pg_dump pg_dumpall backup script ÃÖ±æÈ£ 2023/01/30 79 Admin session Á¤º¸ ÃÖ±æÈ£ 2023/01/27 21 ¸ñ·Ïº¸±â ´ÙÀ½ÆäÀÌÁö 1 [2][3][4][5][6][7] Copyright 1999-2023 Zeroboard / skin by ÃÖ±æÈ£(gilho.kr@gmail.com)
»ç¿ëÀÚ Å×À̺í ÀúÀåµÈDB pg_dump -U user_000 -w -t test -v -Ft -f test.tar cell_000 Å×À̺í À§Ä¡ÇÑDB pg_dump -t test -v -Ft -f test.tar cell_000 ÀúÀåµÈ DB¸í, Å×À̺í, °èÁ¤ È®ÀÎ [ ²À DB, °èÁ¤ ¸¸µé°í ÇÏÀÚ ] pg_restore -l test.tar ======================================= ; dbname: cell_000 316; 1259 515405 TABLE public test segio pg_restore -v -d cell_000 -C -Ft test.tar FATAL: database "cell_000" does not exist -t optionÀ¸·Î ¹é¾÷ÇØ¼ DB ¸¸µé¼ö ¾ø´Ù. create database cell_000; create user segio password 'segio'; -- DB¸¸ »ý¼º½Ã postgres °èÁ¤À¸·Î ¸¸µé¾îÁø´Ù. pg_restore °è¼Ó ½ÇÇà Çϸé PK ¾øÀ¸¸é µ¥ÀÌÅÍ Áߺ¹À¸·Î µé¾î°£´Ù. zipcode¸¸ cell_000 db¿¡ import pg_restore -v -t zipcode full.tar -d cell_000 Å×ÀÌºí º¹±¸ ====================================================================== ´Ù¸¥ À̸§ º¹±¸ ¿É¼ÇÀÌ ¾ø´Ù. [ º¹±¸´Â ¹é¾÷ »óÅ·Πº¹±¸ µÈ´Ù. ] ±âÁ¸ Å×À̺í rename ÈÄ º¹±¸ ÇÏ´Â°Ô ½±´Ù. ======================================= alter table project_job rename to project_job_bk; \d project_job_bk \d+ project_job_bk pg_restore -v -t project_job -d postgres -C -F t /backup/segio.cell_000.tar schema ¹Ù²ã¼ º¹±¸ ÇÏ´Â ¹æ¹ý ±âÁ¸ schema¸¦ ¹Ù²Ù°í º¹±¸ÇÏ°í ´Ù½Ã ¹Ù²ã¾ß ÇÑ´Ù. ======================================= alter schema public rename to pub; create schema public; pg_restore -v -t project_job -d postgres -C -F t /backup/segio.cell_000.tar alter schema public rename to reco ; alter schema pub rename to public ; select * from reco.project_job; \d reco.project_job \d+ reco.project_job ¹é¾÷ ¹æ¹ý ====================================================================== # login without password vi ~/.pgpass *:*:*:segio:segiopwd -bash-4.1$ psql -Usegio cell_000 psql (8.4.20) #!/bin/sh cd /home/backup/tar/ pg_dump -Usegio cell_000 -v -F t -f segio.cell_000.`date +%w`.tar >segio.cell_000.`date +%w`.log 2>&1 gzip segio.cell_000.`date +%w`.tar # 5G to 0.5G ¾ÐÃà # ¹é¾÷ ¹ÞÀº ±×´ë·Î º¹±¸ ====================================================================== # -d ¾øÀ¸¸é ¿¡·¯ ³ª¼ ³Ö´Â´Ù. -C : create database gunzip segio.cell_000.1.tar pg_restore -v -C -d postgres -F t /backup/segio.cell_000.tar # log pg_restore: connecting to database for restore pg_restore: creating DATABASE "cell_000" pg_restore: connecting to new database "cell_000" pg_restore: creating SCHEMA "public" pg_restore: while PROCESSING TOC: pg_restore: from TOC entry 3; 2615 2200 SCHEMA public postgres pg_restore: error: could not execute query: ERROR: schema "public" already exists Command was: CREATE SCHEMA public; pg_restore: creating COMMENT "SCHEMA public" pg_restore: creating TABLE "public.approval_appline_info" ..... pg_restore: creating CONSTRAINT "public.worker_info_pkey" pg_restore: creating CONSTRAINT "public.worker_licensed_info_pkey" pg_restore: creating INDEX "public.memo_m_date_idx" pg_restore: creating INDEX "public.memo_u_id_idx" pg_restore: creating INDEX "public.private_m_no_idx" pg_restore: creating INDEX "public.private_p_date_idx" pg_restore: creating INDEX "public.private_u_id_idx" pg_restore: creating INDEX "public.protect_u_id_idx" pg_restore: creating INDEX "public.stalk_device_uid_idx" pg_restore: creating INDEX "public.user_info_uid_idx" pg_restore: creating FK CONSTRAINT "public.approval_appline_info_p_no_fkey" pg_restore: creating FK CONSTRAINT "public.approval_doc_backup_p_no_fkey" pg_restore: creating FK CONSTRAINT "public.approval_favorite_doc_no_fkey" pg_restore: creating FK CONSTRAINT "public.approval_line_p_no_fkey" pg_restore: creating ACL "public" pg_restore: warning: errors ignored on restore: 2 -bash-4.2$ -bash-4.2$ psql cell_000 psql (14.0) Type "help" for help. cell_000=# \d List of relations Schema | Name | Type | Owner --------+-------------------------------------+----------+---------- public | approval_appline_info | table | user_000 public | approval_appline_info_no_seq | sequence | user_000 public | approval_appline_list | table | user_000 public | approval_appline_list_no_seq | sequence | user_000 public | approval_attach_info | table | user_000 public | approval_attach_info_no_seq | sequence | user_000 public | approval_comment_info | table | user_000 public | approval_comment_info_no_seq | sequence | user_000 public | approval_comment_view | view | user_000 -bash-4.2$ echo $LANG en_US.UTF-8 -bash-4.2$ psql postgres=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+-------------+-------------+----------------------- cell_000 | user_000 | UTF8 | en_US.UTF-8 | en_US.UTF-8 | SecureCRT encoding: UTF-8 ÇÑ±Û Ç¥Çö ÀßµÊ. utf8 order by ¾ÈµÊ. Á¶Ä¡¾È: select .... order by 1 collate "ko_KR.utf8"