行動すれば次の現実

テック中心の個人ブログ

PostgreSQL

【超簡単】HerokuのpostgresDBのbackupデータをrestoreする方法

以下のコマンドで簡単にバックアップしたファイルを使って、簡単にリストアすることが出来ます。 heroku pg:backups:restore b042 DATABASE_URL --app your-appname b042の部分はバックアップデータの名称を指定します DATABASE_URLの部分は、本番環境を指定…

HerokuのPostgreSQLをバージョン11から14にアップグレードしてみた

Herokuから以下の通知が来ました。 PostgreSQL 11 reaches End of Life on 2023-Nov-09. Due to security and operational concerns, Heroku cannot run unsupported software as a service. Therefore, the following database will need to be updated bef…

Rails+Postgresql+Dockerで発生する「There is an issue connecting to your database with your username/password, username xxx」でハマった件

Rails、Postgresqlの構成でdocker composeによる開発環境を構築していたところ、RailsからDBに接続する際に、以下のエラーが発生しました。 There is an issue connecting to your database with your username/password, username: app. Please check your …

既存の開発環境をDocker化する手順 Rails6+Webpacker+Postgresql+Sidekiq

すでに稼働しているRailsアプリをDocker化する手順を紹介します。 Dockerの公式ガイドだけでは手順が不足している部分があったので、細かな部分も含め解説を加えています。 環境構成 Dockerfile docker-compose.yml .dockerignore entrypoint.sh config/data…

PostgreSQLで文字列型を数値型に安全にキャストする方法

PostgreSQLで文字列型を数値型に安全に型変換(キャスト)する方法を説明します。 文字列型の"1234"や"01234"を数値型の1234に変換したい場合などを想定しています。 文字列型を数値型にキャストする方法 CAST(code as integer) このように記載することでcode…

Postgresqlのdumpファイルをローカルにインポートする方法

タイトルの通りです。 pg_dumpコマンドを使用して簡単にインポート(リストア)できます。 your_database_nameとdump_name.dumpは任意の文字列に置き換えてください。 pg_restore --verbose --clean --no-acl --no-owner -h localhost -d your_database_name d…

RailsでPostgreSQLの配列型の項目に対して検索をする

PostgreSQLの配列型に対して「〜を含む」という検索したかったので調べました。 配列型はアンチパターンなのですが、そこは目を瞑ってください。。 環境 ruby 2.7.4 rails 5.2.5 PostgreSQL 13.4 Migration ブログ(Blogs)に複数のタグ(tags)を付与できるテー…

Heroku Postgresで発生する「sql_error_code = 28000 FATAL: no pg_hba.conf entry for host "xxx.xxx.xx.xx", user "xxxx", database "yyyy", SSL off」について

Heroku PostgresをHobbyプランからStandardにアップグレードしたところ以下のログが頻発するようになりました。 sql_error_code = 28000 FATAL: no pg_hba.conf entry for host "xxx.xxx.xx.xx", user "xxxxx", database "xx", SSL off FATALレベルなのです…

HerokuのDBを有料プラン(Hobby)に切り替える方法

Herokuのposgresql DB無料版から有料版(Hobby以上)に移行する手順をまとめます。 1. 有料版DB(Hobby)を作成する Herokuの管理画面からAdd-onsを追加するか、下記コマンドを実行します。 heroku addons:create heroku-postgresql:hobby-basic your-app-name 2…

【超簡単】HerokuのpostgresDBを別環境にコピーする方法

以下のコマンドで簡単にアプリ間でDBをコピーできます。 heroku pg:copy source-app::DATABASE_URL DATABASE_URL --app target-app source-app: コピー元のアプリ target-app: コピー先のアプリ