こんにちは、さるまりんです。
テーブルのCREATE
文を確認。前回はこのMySQLでの方法をメモしました。
SHOW CREATE TABLE [テーブル名];
です。
これをPostgreSQLでやりたいのですが、SHOW CREATE TABLE
文はPostgreSQLには存在しません。
ではどうするか?
PostgreSQLのクライアントプログラムpg_dump
を使います。
pg_dump -t [テーブル名] -s
これで同様のことができます。
ユーザー名、ホスト、データベース名も一緒に指定するには↓のように記述します。
pg_dump -U [ユーザー名] -h [ホスト] [データベース名] -t [テーブル名] -s
実行例です。
$ pg_dump -U salu -h XXX.XXX.XXX.XXX mydb -t mails -s
Password:
--
-- PostgreSQL database dump
--
-- Dumped from database version 9.2.24
-- Dumped by pg_dump version 13.3
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 = '';
--
-- Name: mails; Type: TABLE; Schema: public; Owner: salu
--
CREATE TABLE public.mails (
mail_id integer NOT NULL,
subject character varying(120) NOT NULL,
body text NOT NULL
);
ALTER TABLE public.mails OWNER TO salu;
--
-- Name: mails mails_pkey; Type: CONSTRAINT; Schema: public; Owner: salu
--
ALTER TABLE ONLY public.mails
ADD CONSTRAINT mails_pkey PRIMARY KEY (mail_id);
--
-- PostgreSQL database dump complete
--
テーブルのオーナーや主キーの制約まで出力してくれています。
pg_dump
はデータベースをバックアップするために使われるコマンドですが、ちょっと確認というこういう使い方もできますね。
読んでくださってありがとうございました。
それではまた!