5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Raspberry Pi3 (Raspbian) にpostgresql9.6をインストール後、データベースを作成し直す

Last updated at Posted at 2018-04-19

PostgreSQLをインストール後、自動で作成されたデーターベースのエンコーディングとロケールがja_JP.UTF-8(OS設定のロケール)になってしまうので、エンコーディングをUTF-8、照合順序(ソート順)をCに設定し直す。

$ uname -a
Linux raspberrypi 4.9.80-v7+ #1098 SMP Fri Mar 9 19:11:42 GMT 2018 armv7l GNU/Linux

###PostgreSQLをインストール

$ sudo apt-get install postgresql

###postgresユーザー(OSユーザー)のパスワード設定

$ passwd postgres

###データを削除

データを削除する前にサービスを停止しておく。

$ sudo service postgresql stop

ディレクトリごとデータを削除してしまう。
データディレクトリの場所は/etc/postgresql/9.6/main/postgresql.confファイルのdata_directoryで設定されている。

postgresql.conf
#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------

# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir.

data_directory = '/var/lib/postgresql/9.6/main'         # use data in another directory
                                        # (change requires restart)

削除!

$ sudo rm -rf /var/lib/postgresql/9.6/main

###データベースの再作成

postgresユーザーでログイン

$ su - postgres

データベースを、エンコーディングUTF-8、ロケールなしで初期化する。

$ PGDATA=/var/lib/postgresql/9.6/main /usr/lib/postgresql/9.6/bin/initdb --no-locale -E UTF-8
$ exit

サービスを起動

$ sudo service postgresql start

確認

$ su - postgres
$ psql
postgres=# \l
                                        データベース一覧
   名前    |  所有者  | エンコーディング | 照合順序 | Ctype(変換演算子) |      アクセス権
-----------+----------+------------------+----------+-------------------+-----------------------
 postgres  | postgres | UTF8             | C        | C                 |
 template0 | postgres | UTF8             | C        | C                 | =c/postgres          +
           |          |                  |          |                   | postgres=CTc/postgres
 template1 | postgres | UTF8             | C        | C                 | =c/postgres          +
           |          |                  |          |                   | postgres=CTc/postgres
(3 行)

ユーザーの作成

$ createuser -P <ユーザー名>
5
5
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
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?