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

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

ただいまの
回答率

90.50%

  • Linux

    3779questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Ubuntu

    1407questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • PostgreSQL

    1062questions

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

Postgresqlでboard(データ)がINSERTできません。

解決済

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 209

American

score 33

https://github.com/blobmon/communicate
環境はLinuxでPostgreSQLです。
上のboardを追加するのができません。

INSERT INTO boards (board, display_name) VALUES ('board1', 'Board 1');
と入力したら
communicate_db=# INSERT INTO boards (board, display_name) VALUES ('board1', 'Board 1');
ERROR: relation "boards" does not exist
LINE 1: INSERT INTO boards (board, display_name) VALUES ('board1', '...

と表示されます。どうやったら、できるようになりますか?

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • m6u

    2018/07/30 09:56

    1ヶ月前と比べて環境が変わっているはずですね、テーブルを削除していたりしませんか? boardsテーブルの存在を確認しましょう。psqlコマンドでデータベースに接続しているときに、「\d boards;」と入力すれば、テーブルが存在すればテーブルの構造が表示されますし、なければないなりにエラーメッセージが表示されるはずです。

    キャンセル

  • American

    2018/07/30 10:58 編集

    communicate_db=# \d boards; Did not find any relation named "boards". と表示されました。

    キャンセル

  • Orlofsky

    2018/07/30 12:52

    タイトルの [board(データ)]→[テーブル]に変更しませんか?質問の内容を想像しやすいタイトルを付けられる、わかり易い文章を書ける能力はこの職業では必須です。

    キャンセル

  • American

    2018/07/30 13:48

    はい!わかりました!!

    キャンセル

回答 3

checkベストアンサー

0

GitHub - blobmon/communicate: A simple discussion board creation software のREADMEを参考に、
psqlコマンドで接続中に、
「\i create_table_query.sql」
を実行すれば、削除してしまったテーブル類が再作成されるのではないかと思います。
(既に作られているテーブル類に関してはエラーが出るでしょうけど。)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/30 13:50

    すいません、それでもできません。

    キャンセル

  • 2018/07/30 14:47

    create_table_query.sql ファイルを紐解いて、boardsテーブルを作成する箇所のみ取り出して実行すればよいのではないでしょうか。
    本人が努力して工夫して乗り切るしか手がないのではないかと思います。
    (あるいはサーバーを初期化して、最初からやり直すなど。)

    キャンセル

  • 2018/07/30 18:08

    わかりました

    キャンセル

0

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/30 11:01

    スキーマ名って何ですか?やってみたら以下のように出ました。
    communicate_db=# SHOW search_path;
    search_path
    -----------------
    "$user", public
    (1 row)
    ここからどうしたらいいですか?

    キャンセル

  • 2018/07/30 11:09

    CREATE TABLEを実行したPostgreSQLのユーザーです。
    基礎的なことがわかってないと仕事になりませんから、
    >PostgreSQL入門
    でググってひと通り読んでください。

    キャンセル

  • 2018/07/30 13:51

    わかりました

    キャンセル

0

boardsテーブルが存在しているのは確認できていますか?
存在しているなら、そのテーブルの属するスキーマがpublicで無いなら、そのスキーマと同名のユーザーでログインしてinsertする必要があります。

若しくは、以下のようにスキーマ修飾するか

INSERT INTO スキーマ名.boards (board, display_name) VALUES ('board1', 'Board 1');

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/07/30 13:50

    スキーマ名を調べたら
    communicate_db=# SHOW search_path;
    search_path
    -----------------
    "$user", public
    と表示されました。スキーマ名をuserからcommunicate_roleに変更したほうがいいですか?もしそうなら
    ALTER SCHEMA name RENAME TO newname;
    でいいですか?

    キャンセル

  • 2018/07/30 16:11

    どのようなスキーマで構成されているかは、その掲示板の仕様ですので分かりません。

    キャンセル

  • 2018/07/30 16:14 編集

    あなたのレベルなら、CUIで行うよりもDBツールでグラフィカルに見えたほうが理解しやすいと思うんですけど、一向にアドバイスを聞く耳持ちませんよね。

    キャンセル

  • 2018/07/30 16:24

    いや一回pgAdminをインストールしたんですけど、よく使い方がわからなかくてやめたんです。

    キャンセル

  • 2018/07/30 16:31

    では、コマンドレベルのものでも内容を理解するしか無いですね。
    search_pathに表示されているのはシステムがテーブルなどを検索する時にたどる順序です。
    「"$user", public」というのは、「ログインユーザー名と同じスキーマ」→「publicスキーマ」という意味です。
    boardsテーブルがどのスキーマに属しているかの情報ではありません。

    キャンセル

  • 2018/07/30 18:08

    はい。わかりました。

    キャンセル

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

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • Linux

    3779questions

    Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

  • Ubuntu

    1407questions

    Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

  • PostgreSQL

    1062questions

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