問題ID: 34472
- フォーラムは新サイトへ移行しました。
- このフォーラムではゲスト投稿が禁止されています
問題ID: 34472
msg# 1
fujii0401
投稿数: 23
pg_dumpコマンドについてなんですけど
この問題の正解の一つが
「任意の指定したテーブルや、スキーマをバックアップできる」
pg_dumpは指定するのがデータベース単位ですよね
この書き方ではオプションにテーブルやスキーマを設定でき、バックアップを取得できるような意味にとらえられませんか?
そもそもpg_dumpはデータベースにおける設定ファイルの内容以外のデータを取得できるという認識でいいですよね?
この問題の正解の一つが
「任意の指定したテーブルや、スキーマをバックアップできる」
pg_dumpは指定するのがデータベース単位ですよね
この書き方ではオプションにテーブルやスキーマを設定でき、バックアップを取得できるような意味にとらえられませんか?
そもそもpg_dumpはデータベースにおける設定ファイルの内容以外のデータを取得できるという認識でいいですよね?
Re: 問題ID: 34472
msg# 1.1
arashi1977
居住地: 広島
投稿数: 1715
例えばこんな環境があったとして
「任意の指定したテーブルや、スキーマをバックアップできる」というのはこういうことです。ここではpostgresデータベースでのpingt_testテーブルだけを指定してバックアップしています。
データを含まない、スキーマだけ(-s:schema only)も指定できます。
ですので、
引用:そのように捉えて問題ないと思うのですが、意図が違いますかね?
$ psql -h localhost -U postgres
psql (12rc1)
Type "help" for help.
postgres=# \d
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | pingt_test | table | postgres
(1 row)
postgres=# \dt pingt_test
List of relations
Schema | Name | Type | Owner
--------+------------+-------+----------
public | pingt_test | table | postgres
(1 row)
postgres=# select * from pingt_test;
id | name | comment
----+-------+---------
1 | 34472 | pg_dump
(1 row)
$ pg_dump -h localhost -U postgres -t pingt_test
--
-- PostgreSQL database dump
--
-- Dumped from database version 12rc1
-- Dumped by pg_dump version 12rc1
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
SET default_tablespace = '';
SET default_table_access_method = heap;
--
-- Name: pingt_test; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.pingt_test (
id integer,
name text,
comment text
);
ALTER TABLE public.pingt_test OWNER TO postgres;
--
-- Data for Name: pingt_test; Type: TABLE DATA; Schema: public; Owner: postgres
--
COPY public.pingt_test (id, name, comment) FROM stdin;
1 34472 pg_dump
\.
--
-- PostgreSQL database dump complete
--
$ pg_dump -h localhost -U postgres -t pingt_test -s
--
-- PostgreSQL database dump
--
-- Dumped from database version 12rc1
-- Dumped by pg_dump version 12rc1
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET xmloption = content;
SET client_min_messages = warning;
SET row_security = off;
SET default_tablespace = '';
SET default_table_access_method = heap;
--
-- Name: pingt_test; Type: TABLE; Schema: public; Owner: postgres
--
CREATE TABLE public.pingt_test (
id integer,
name text,
comment text
);
ALTER TABLE public.pingt_test OWNER TO postgres;
--
-- PostgreSQL database dump complete
--
ですので、
引用:
この書き方ではオプションにテーブルやスキーマを設定でき、バックアップを取得できるような意味にとらえられませんか?
Re: 問題ID: 34472
msg# 1.2
fujii0401
投稿数: 23
テーブル単位やスキーマー単位でのバックアップの例やオプションの記載がなかったのでできないものだと思っていましたがキチンとオプションがあるんですね