読者です 読者をやめる 読者になる 読者になる

kantyPanco's diary

初心忘るるべからずなWeb屋初心者の色々忘備録

EUC_JP で postgresql:create database

postgresql

デフォルト文字エンコーディング(UTF-8)で作成したDBが2階層目以降「アクセス集中のため〜」エラーで表示出来ませんでした。。。
エラー内容と実際の原因がここまで関係ないのもすごいな、と関心しつつ、EUC_JPでcreatedbするために模索したので記録。

-------------
1、database 削除

postgres=# drop database dbName;
DROP DATABASE

2、db 停止

[root@vagrant-c5-x86_64 /]# /etc/rc.d/init.d/postgres stop

postgresql サービスを停止中:                               [  OK  ]

3、データ削除

[root@vagrant-c5-x86_64 bin]# rm -rf /var/lib/pgsql/data

4、postgresユーザーに切り替え

[root@vagrant-c5-x86_64 /]# su - postgres

5、initdbに文字エンコーディング指定する

-bash-3.2$ initdb --encoding=EUC_JP --no-locale

➡Success. You can now start the database server using:

6、一旦ログアウト

-bash-3.2$ exit

7、root で postgres起動

[root@vagrant-c5-x86_64 bin]# /etc/rc.d/init.d/postgresql restart
postgresql サービスを停止中:                               [失敗]
postgresql サービスを開始中:                               [  OK  ]
8、postgresユーザで入る

[root@vagrant-c5-x86_64 bin]# su - postgres
-bash-3.2$ psql

■一覧  postgres=# \l

                              List of databases
   Name    |  Owner   | Encoding | Collation | Ctype |   Access privileges  
-----------+----------+----------+-----------+-------+-----------------------
 postgres  | postgres | EUC_JP   | C         | C     |
 template0 | postgres | EUC_JP   | C         | C     | =c/postgres
                                                     : postgres=CTc/postgres
 template1 | postgres | EUC_JP   | C         | C     | =c/postgres
                                                     : postgres=CTc/postgres
9、ユーザ作る

postgres=# create user shopping superuser;
CREATE ROLE
postgres=# alter role shopping createdb;
ALTER ROLE
postgres=# alter role shopping login;
ALTER ROLE
※スーパーユーザー権限、データベース作成権限、ログイン権限付与

一気にできないので一個ずつやってるだけ。笑

10、作成したユーザでデータベースを作る

postgres=# create database shopping --encoding='EUC_JP' --owner='shopping';

CREATE DATABASE

 

★結果★できた!(^o^)/***

postgres  | postgres | EUC_JP   | C         | C     |

-------------

あとはもう一度 dump restore してpostgres 再起動で。

[root@vagrant-c5-x86_64 backups]# su - postgres
-bash-3.2$ psql shopping < /var/lib/pgsql/backups/dump.sql

ついでにapacheも再起動で。

エイッ!!
    ∧,,∧
☆二 ⊂(・ω・`)
    -ヽ  と)
     `u-u'