はじめに
jupyternotebookからpostgresサーバーへ接続して、データフレームとして読み込む方法を記載していきます
前提
以前こちらの記事を投稿したのですが、こちらのサーバーが起動
されている状態であることを前提に進めていきます。
導入
まずはpythonからpostgresqlサーバーに接続するためのドライバーをインストールします。今回はpsycopg2を利用します。
$ pip3 install psycopg2-binary
dbの確認
今回接続するdbを確認します。
$ psql -l
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------+--------+----------+-------------+-------------+-------------------
postgres | hoge | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
template0 | hoge | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/hoge +
| | | | | hoge=CTc/hoge
template1 | hoge | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/hoge +
| | | | | hoge=CTc/hoge
(3 rows)
接続
言わずもがなの起動
$ jupyter notebook
もしくは
$ ipython notebook
起動されたら新しいpythonファイルを開いて接続を行います。
import psycopg2
connection = psycopg2.connectconnection = psycopg2.connect(host="localhost", database="postgres", user="hoge",password="password")
読み込み
今回はデータフレームとして読み込みを行います。
sql_query = "select * from access_log"#SQL文
import pandas as pd
df = pd.read_sql(sql_query, connection)
connection
結果
今回はこちらのサイトのサンプルデータを利用しています。

終わり
とても簡単に接続ができました。
参考サイト
psycopg2でPyhtonからPostgreSQLに接続する
PostgreSQL/データベース一覧を調べる方法
PostgreSQLをPythonからpsycopg2を使っていじる
PythonからPostgreSQLに接続する方法