FreeBSD 10.1にPostgreSQL 9.4.4をインストール
FreeBSD 10.1にPostgreSQL 9.4をインストールした時のメモです。過去の手順を参考にしました。
FreeBSD 10.0にPostgreSQL 9.3.2をインストール(pkg install使用)
PostgreSQLのインストール
pkg instllでインストールしました。
# pkg install postgresql94-server
自動的に、pgsqlユーザーが作成されます。
/etc/rc.confを編集。
# vi /etc/rc.conf
「postgresql_enable="YES"」を追加します。
ifconfig_em0="inet 192.168.1.103 netmask 255.255.255.0"
defaultrouter="192.168.1.1"
sshd_enable="YES"
postgresql_enable="YES"
データベースの初期化と起動を行います。
# /usr/local/etc/rc.d/postgresql initdb
# /usr/local/etc/rc.d/postgresql start
これでインストールと起動は完了です。
接続をテストしてみます。
# psql -h localhost -U pgsql -d postgres
psql (9.4.4)
"help" でヘルプを表示します.
postgres=#
ユーザーの作成
pgadminというユーザーを作成します。
# su pgsql
$ createuser --pwprompt --interactive pgadmin
新しいロールのためのパスワード:
もう一度入力してください:
新しいロールをスーパーユーザにしますか? (y/n)y
接続テストのついでに、データベースを作成しました。
$ psql -U pgadmin -d postgres
psql (9.4.4)
"help" でヘルプを表示します.
postgres=# create database sample;
CREATE DATABASE
外部接続許可
外部から接続できるように構成します。
postgresql.confを編集。
# vi /usr/local/pgsql/data/postgresql.conf
listen_addressesを'localhost'から'*'に変更。
#listen_addresses = 'localhost'
listen_addresses = '*'
pg_hba.confを編集。
# vi /usr/local/pgsql/data/pg_hba.conf
「IPv4 local connections:」に、接続を許可するセグメントを追加します。
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 md5
編集が終わったら、PostgreSQLを再起動。
# service postgresql restart
こんなPythonのサンプルで確認しました。
- # -*- coding:utf-8 -*-
- import psycopg2
- con = psycopg2.connect(
- host = "192.168.1.103",
- port = 5432,
- database="sample",
- user="pgadmin",
- password="P@ssw0rd")
- con.close()
- print(u'ok')
外部から接続出来ました。
$ python sample.py
ok