質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

2557閲覧

postgre でテーブルの作成時にエラーが発生する

pani-pani

総合スコア3

PostgreSQL

PostgreSQLはオープンソースのオブジェクトリレーショナルデータベース管理システムです。 Oracle Databaseで使われるPL/SQLを参考に実装されたビルトイン言語で、Windows、 Mac、Linux、UNIX、MSなどいくつものプラットフォームに対応しています。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2020/11/21 04:23

編集2020/11/21 04:30

前提・実現したいこと

springbootを利用してTodoリスト作成をしています。
その中で、データベースとしてPostgreを利用しようと思ったのですが、
コマンドプロンプトでテーブルを作成する際にエラーが発生しています。

tododb=> \i init_table.sql を実行する時にエラーが発生します。
このエラーを解消したいと思っています。

発生している問題・エラーメッセージ

tododb=> \i init_table.sql psql:init_table.sql:10: ERROR: character with byte sequence 0xe7 0xac 0xa6 in encoding "UTF8" has no equivalent in encoding "WIN1252" psql:init_table.sql:13: ERROR: character with byte sequence 0xe7 0xac 0xa6 in encoding "UTF8" has no equivalent in encoding "WIN1252" psql:init_table.sql:16: ERROR: character with byte sequence 0xe7 0xac 0xa6 in encoding "UTF8" has no equivalent in encoding "WIN1252" psql:init_table.sql:19: ERROR: character with byte sequence 0xe7 0xac 0xa6 in encoding "UTF8" has no equivalent in encoding "WIN1252" psql:init_table.sql:22: ERROR: character with byte sequence 0xe7 0xac 0xa6 in encoding "UTF8" has no equivalent in encoding "WIN1252"

該当のソースコード

init_table.sql

CREATE TABLE todo ( id SERIAL PRIMARYKEY, title TEXT, importance INTEGER, urgency INTEGER, deadline DATE, done TEXT ); INSERT INTO todo(title, importance, urgency, deadline, done) VALUES('todo-1', 0, 0, '2020-10-01', 'N'); INSERT INTO todo(title, importance, urgency, deadline, done) VALUES('todo-2', 0, 1, '2020-10-02', 'Y'); INSERT INTO todo(title, importance, urgency, deadline, done) VALUES('todo-3', 1, 0, '2020-10-03', 'N'); INSERT INTO todo(title, importance, urgency, deadline, done) VALUES('todo-4', 1, 1, '2020-10-04', 'Y');

init_database.sql

CREATE USER todouser WITH PASSWORD 'pass'; CREATE DATABASE tododb OWNER todouser ENCODING 'UTF8';

試したこと

postgresqlにログインしてset client_encoding TO 'UTF8';を実行するという解決方法がWEB上に乗っていたので、試したのですが、文字化けを起こして、エラーは解消されませんでした。

psql:init_table.sql:10: ERROR: "PRIMARYKEY"a?_a?Ya?_a??a?rè¿`è_ºa?æ<æ-╪a,"aƒcaƒ¼
LINE 3: id SERIAL PRIMARYKEY,
^
psql:init_table.sql:13: ERROR: aƒªaƒ¬aƒ¼a,·aƒaƒ3"todo"a?_å-~åo"a?-a?_a?>a,"
LINE 1: INSERT INTO todo(title, importance, urgency, deadline, done)
^
psql:init_table.sql:16: ERROR: aƒªaƒ¬aƒ¼a,·aƒaƒ3"todo"a?_å-~åo"a?-a?_a?>a,"
LINE 1: INSERT INTO todo(title, importance, urgency, deadline, done)
^
psql:init_table.sql:19: ERROR: aƒªaƒ¬aƒ¼a,·aƒaƒ3"todo"a?_å-~åo"a?-a?_a?>a,"
LINE 1: INSERT INTO todo(title, importance, urgency, deadline, done)
^
psql:init_table.sql:22: ERROR: aƒªaƒ¬aƒ¼a,·aƒaƒ3"todo"a?_å-~åo"a?-a?_a?>a,"
LINE 1: INSERT INTO todo(title, importance, urgency, deadline, done)

環境

windows10
psql (PostgreSQL) 12.5

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

参考に
PRIMARYとKEYの間の空白は意味がありますから、削らないように。

投稿2020/11/21 05:19

Orlofsky

総合スコア16415

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pani-pani

2020/11/21 06:01

Orlofsky様 ご回答ありがとうございます。 ご指摘頂いた内容で解決しました。 半日悩んでいたので本当に助かりました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問