Python+Djangoを使ってみる(チュートリアルをやってみる:第2回)

前回は、「Pythonを使ってみようではないか→Pythonは入っているね→じゃ、Djangoだ」という流れでした。
Djangoをインストールして、チュートリアルの最初を体験しました。

そこで、今回はPostgreSQLをインストールします。

1.まずはPostgreSQLのインストール

PythonからPostgreSQLを触らなきゃいけないので、そのためのライブラリもインストールしています。
(わざとらしく、「ポスグレの中にpythonって名前のつくライブラリがあったよな・・・」と検索してみせたりしています。)

$ sudo apt-get install postgresql
$ sudo apt-cache search postgresql |grep python
$ sudo apt-get install python-psycopg2

2.Fingerのインストール

不要と言えば不要なのですが、PostgreSQLのインストール時に「postgres」というユーザーを作っちゃうみたいです。
そこで「本当に作ったのね」と確認するために、ついインストールしてしまったのがFingerです。
せっかくなので、書いときます。

$ sudo apt-get install finger

で、確かにいました。

$ finger postgres
Login: postgres       			Name: PostgreSQL administrator
Directory: /var/lib/postgresql      	Shell: /bin/bash
Never logged in.
No mail.
No Plan.

3.postgresユーザのパスワード設定

勝手に作られたpostgresユーザですので、パスワードを設定しておきましょう。

$ sudo passwd postgres

4.postgresユーザでPostgreSQLのpostgresユーザのパスワードを設定

「お前は何を言っているのだ?」という表題ですが、こういうことです。
”PostgresSQLのDBのユーザとして初期に存在している「postgres」さんのパスワードを変えましょうね」だけど、そのためにはUbuntuのユーザとして「postgres」さんになっておきましょうね”

$ sudo su - postgres
$ psql -c "alter user postgres with password 'postgres'"
ALTER ROLE

5.PostgreSQLの初期化

これ大切です。

$ sudo mkdir /var/lib/postgresql/data
$ sudo chown -R postgres:postgres /var/lib/postgresql/data
$ sudo su - postgres
$ /usr/lib/postgresql/9.1/bin/initdb --encoding='UTF-8' -D /var/lib/postgresql/data

6.PostgreSQLの動作確認

まずはDBを作りましょう。

($ sudo su - postgres)
$ createdb -U postgres -E UTF8 testdb

作ったDBを確認します。抜けるときには「\q」です。

($ sudo su - postgres)
$ psql -U postgres -l
\q

DBに接続します。そのままテーブルを作っちゃいましょう。

($ sudo su - postgres)
$ psql -d testdb
testdb=# CREATE TABLE lunchmenu (
    id            INTEGER  PRIMARY KEY NOT NULL,
    name TEXT  NOT NULL,
    price    REAL     NOT NULL CHECK ( price > 0 ));
testdb=# \d

続けてデータも流し込んじゃいましょう。

testdb=# BEGIN TRANSACTION;
testdb=# INSERT INTO lunchmenu VALUES( 1, 'カレーライス', 700);
testdb=# INSERT INTO lunchmenu VALUES( 2, '塩ラーメン', 650 );
testdb=# COMMIT;

確認します。

($ sudo su - postgres)
testdb=# select * from lunchmenu;
 id |     name     | price 
----+--------------+-------
  1 | カレーライス |   700
  2 | 塩ラーメン   |   650
(2 rows)

以上で、ちゃんとPostgreSQLが動くことも確認できました。
今回は以上です。

次回はDjangoのチュートリアルに戻って、DjangoからPostgreSQLを操作してみましょう。

The following two tabs change content below.

ロゴスウェア

ロゴスウェア株式会社は、インターネットや情報技術を使って学習に革新的進化をもたらす製品を開発することを目標に、2001年7月に設立されたテクノロジー系ベンチャー企業です。

Comments are closed.