

<https://github.com/blobmon/simplechan>  
ユーザーでデータベースに入りたいのですが、入れません。

> Now, once you are back again being the normal, default user, `cd` into
> `/sql/` directory in Simplechan repository. We are going to create tables
> and functions now.  
>  Try opening `psql` with the latest created db and role. In my default case,
> I try opening psql with `simplech_db` and `simplech_role`.
>
> `$psql -d simplech_db -U simplech_role`
>
> Create tables by importing those sql files now. Type these commands...
>
> `\i create_table_query.sql`  
>  `\i functions.sql`  
>  `\i functions_moderator.sql`
>
> Make sure those sql statements were imported and executed without errors. If
> there are errors, make sure to fix them. I think an error might come when
> you type `\i create_table_query.sql` with extension `uuid-ossp`. It can be
> easily fixed by installing some extra postgres package. Any other error you
> might encounter, should be easily fixable.

個々の部分ができません。ユーザーからデータベースに入って、tableを作り、sqlファイルを作りたいので、そこまで手順を教えてください。  
ちなみに、「simplech_db and simplech_role.」←これはvirtualbox内のLinuxじょうでやるんですか？それとも、SQL
Shell上で行うのですか？


CC BY-SA 4.0
2018-05-06T14:20:28.947
43824
2019-02-25T10:01:15.363
2020-06-17T08:14:45.997
-1
question
linux sql postgresql virtualbox
Postgresql内で、データベースに入れません。


引用されている`README.md`の箇所の前段に、手順が記載されていると思います。

> Install postgresql database server in your machine. Make sure it is version
> 9.5 or great.
>
> After installing postgresql, open command line and enter these commands
> line-by-line making sure you are doing correctly every time... This command
> is for opening psql with default postgres user. Just typing psql while being
> normal user will fail because postgres user requires postgres db to open. It
> is extra step which postgresql people might have avoided. But it is needed
> for security I think.
>
> `$sudo su - postgres`  
>  `$psql`
>
> Once you are inside psql, create a role and a database with your desired
> name. In default case, I have used simplech_role and simplech_db for role
> and database name respectively. Type these commands...
>
> `CREATE ROLE simplech_role WITH SUPERUSER CREATEDB LOGIN;`  
>  `CREATE DB simplech_db WITH OWNER simplech_role;`

なので、PostgreSQL 9.5以上をインストールした状態で、

  * Linuxシェルから、`sudo`と`psql`を実行。
  * psqlのプロンプトから`create ROLE`と`CREATE DB`を実行。

したあとに、引用した箇所のコマンドを実行すればよいと思います。

### 追記

PostgreSQL 9.5でdatabase作成の手順を確認してみました。  
`create DB`はsyntax errorになるようです。(短縮表記はないようで)

[code]

    create database simplech_db WITH OWNER simple_role;
    
[/code]

と実行する必要があるようです。

ですので、databaseの作成に失敗しており、そのせいで`psql -d simplech_db -U
simplech_role`に失敗しているかも知れません。  
database「`simplech_db`」が出来ているかどうかは、`psql -l`で確認できます。

[code]

    $sudo su - postgres
    $psql -l
    
[/code]

出来ていれば出力に`simplech_db`が見えると思います。


CC BY-SA 4.0
2018-05-07T11:49:34.540
43839
2018-05-12T10:57:12.517
2018-05-12T10:57:12.517
20098
20098
43824
answer