Cream-Kuchen

HerokuでPostgreSQLの読み書き削除

はじめに

HerokuでPostgreSQLに接続・操作するにはどうすれば良いのでしょう?

テーブルの読み・書き・削除の方法を紹介します。

目次


1, 接続用のユーザ情報を設定

PostgreSQL接続のため、ユーザ名やパスワード等を予め取得しましょう。

こちらの記事を参考に、ユーザ情報を参照・取得してください。 cream-kuchen.hatenablog.com

※ 記事中の下記設定 connection_config が必要です。 f:id:Cream-Kuchen:20200608195815p:plain

2, 読み込み

Pandasデータフレームとして下記のコード例でテーブルを読み込めます。

import pandas as pd
import psycopg2

connection = psycopg2.connect(**connection_config)
df = pd.read_sql(sql='SELECT * FROM table_name;', con=connection)

※ 最終行ののSELECT文 [ * ] や、テーブル名 [ table_name ] を適宜書き換えてください。

3, 書き込み

Pandasデータフレームを下記のコード例でテーブルに書き込めます。

import pandas as pd
import psycopg2
from sqlalchemy import create_engine

engine = create_engine('postgresql://{user}:{password}@{host}:{port}/{database}'.format(**connection_config))
df.to_sql('table_name', con=engine, if_exists='replace', index=False)

※ 最終行のテーブル名 [ table_name ] や、書き込み方法 [ replace ] を適宜書き換えてください。
※ 書き込み方法には、replaceの他にappendなどがあります。
        pandas.DataFrame.to_sql — pandas 1.1.3 documentation

4, 削除

下記のコード例でテーブルを削除できます。

import psycopg2
connection = psycopg2.connect(**connection_config)

with connection as conn:
    with conn.cursor() as cur:
        cur.execute('DROP TABLE table_name')

※ 最終行のテーブル名 [ table_name ] を適宜書き換えてください。

おわりに

HerokuでPostgreSQLに接続し操作する方法を紹介しました。

接続に成功すれば操作は簡単です。開発に役立てて頂ければ幸いです。