LoginSignup
6
0

More than 3 years have passed since last update.

PostgreSQLとpostgresql-clientのバージョンが合ってないと怒られた

Posted at

Railsで、データベースのダンプの取り方には2種類あるということで、
ダンプをSQLで設定して、マイグレーションした際に、下記のように怒られました。

error
pg_dump: server version: 12beta2 (Debian 12~beta2-1.pgdg100+1); pg_dump version: 11.4 (Debian 11.4-1)
pg_dump: aborting because of server version mismatch

なんか、バージョンがあっていないらしい

確認してみると、PostgreSQLのバージョンは12beta2で、

# psql --version

psql (PostgreSQL) 12beta2 (Debian 12~beta2-1.pgdg100+1)

postgresql-clientのバージョンは11.4だった

# pg_config

VERSION = PostgreSQL 11.4 (Debian 11.4-1)

クライアントのバージョンを上げようと、色々調べたけど、
現在latestのバージョンは11らしく、
僕の力では、できませんでした...

PostgreSQLのバージョンを11に下げることにした

PostgreSQLdocker-compose.ymlで構築しているので、
image: postgres:11にして、

postgresql-clientpostgresql-client-11とバージョンを指定してインストールするようにした。

マイグレーションを実行すると...

rails/db/structure.sql
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_with_oids = false;

--
-- Name: ar_internal_metadata; Type: TABLE; Schema: public; Owner: -
--

CREATE TABLE public.ar_internal_metadata (
    key character varying NOT NULL,
    value character varying,
    created_at timestamp without time zone NOT NULL,
    updated_at timestamp without time zone NOT NULL
);

できた〜

終わり

DBを構築する上で、クライアントのバージョンも気にしないといけないんだな〜

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0