
この記事を書いた人

082P
現在は、医療系システムエンジニアをやっています。得意言語はRubyですが、仕事柄PHPやJavascriptに触れる機会が多いです。記事に関しては、RubyのRuby on Rails、PythonのDjangoなど、Webアプリケーションおよびデータベース系の記事を書くことが多いです。趣味でゲーム配信とボカロPをやってます。既婚者で子供が2人おります。
PostgreSQLとは?
PostgreSQL(ポストグレスキューエル)は、オープンソースのリレーショナルデータベース管理システム(RDBMS)です。
高い拡張性と堅牢性を持ち、スケーラビリティやデータの整合性を確保しつつ複雑なクエリを処理する能力に優れています。
SQL(Structured Query Language)を用いてデータの管理や操作を行うことができ、ストアドプロシージャ、トリガー、外部キー、ジョインなど、多様な機能をサポートしています。
また、JSONやXMLといった非構造化データの管理も可能で、NoSQL的な特性も併せ持ちます。
PostgreSQLは、オープンソースであるため、商用利用も含めて自由に使うことができ、活発なコミュニティによるサポートやドキュメントが充実しています。
堅牢性を求められるエンタープライズシステムや大規模なウェブアプリケーションのバックエンドデータベースとして広く使用されています。

私は、デプロイ環境に合わせてデーターベースを選択しています。
Ruby on RailsでなぜPostgreSQLを使う?
Ruby on RailsでPostgreSQLがよく使われる理由はいくつかあります。
- 高い互換性とデフォルトサポート
RailsはもともとPostgreSQLに対するサポートが手厚く、多くの機能がスムーズに動作するように設計されています。
デフォルトのデータベースとして採用することも一般的で、スムーズな開発をサポートします。 - 強力な機能
PostgreSQLは、JSONデータ型のサポートや全文検索機能、並列処理やストアドプロシージャなど、高度な機能を備えています。
これにより、Railsアプリケーションの柔軟性を向上させ、複雑なデータ操作も簡単に行うことができます。 - オープンソースかつ無料
PostgreSQLはオープンソースのデータベース管理システムであり、商用利用も含めて自由に使えます。
そのため、低コストで高機能なデータベースを活用できることが魅力です。 - トランザクション管理の強力なサポート
PostgreSQLはACID準拠(Atomicity, Consistency, Isolation, Durability)のトランザクション管理をサポートしており、データの整合性を確保しやすいです。
Railsアプリケーションでは、データの安全性や整合性が重要なため、これが大きなメリットとなります。 - スケーラビリティ
PostgreSQLは大規模なデータベースを扱う際にもスケーラブルで、性能を効果的に最適化できます。
Railsで大規模なWebアプリケーションを構築する際にも信頼性が高いです。 - コミュニティのサポート
PostgreSQLのコミュニティは非常に活発で、トラブルシューティングや新しい機能の導入も迅速に行われています。
この点も、Rails開発者にとって安心できるポイントです。

これらの理由から、RailsアプリケーションでのPostgreSQLの採用は高く評価され、多くのプロジェクトで用いられています。
Mac用 PostgreSQL 17.1のダウンロード
まずはPostgresqlホームページに移動します。

「Download」をクリック

上部の「Download」をクリックします。
「MacOS」をクリック

「MacOS」をクリックします。
「Download the installer」をクリック

「Download the installer」をクリックします。
MacOSXの「バージョン17.1」のDownloadをクリック

MacOSXの「バージョン17.1」のDownloadをクリックします。
「postgresql-17.1-1-osx.dmg」ファイルをダブルクリック

ダウンロードされた「postgresql-17.1-1-osx.dmg」ファイルをダブルクリックし、「postgresql-14.4-1-osx」をインストールします。
セットアップウィザードが起動しますので「Next」で次に進んでください。
インストールフォルダの選択

インストールフォルダを選択できます。
そのままデフォルトで良いので「Next」で進んでください。
インストールコンポーネントの選択

インストールフォルダを選択できます。
そのままデフォルトで良いので「Next」で進んでください。
データ格納ディレクトリの選択

データを格納するディレクトリを選択できます。
そのままデフォルトで良いので「Next」で進みます。
データベース接続パスワードの設定

データベース接続時のパスワードを設定します。
パスワードを入力して「Next」をクリックします。
ポート番号はそのままデフォルトの「5432」

ポート番号はそのままデフォルトの「5432」で良いのでそのまま「Next」で進みます。
デフォルトの文字コードを選択

デフォルトの文字コードを選択できます。
「ja_JP.UTF-8」を選択して「Next」で進みます。
確認画面表示

確認画面が表示されます。
そのまま「Next」で進んでください。
インストールの確認

インストール確認画面です。
「Next」で進んでインストールしてください。
Finish

オプションツールのインストールは必要ないので、チェックを外して「Finish」でインストーラーを終了してください。
インストール確認「pgAdmin4」

Finderのアプリケーションで「PostgreSQL17」の「pgAdmin4」を起動します。
「Server」をクリックし、インストール時に設定した管理ユーザーパスワードでログインしてください。
無事ログインできれば、インストール成功です。
プログラミングスクール【ディープロ】4ヶ月短期集中コース
プログラミングスクール【ディープロ】4ヶ月短期集中コースとは?
ディープロは、「開発現場で活躍できるITエンジニアになりたい人」向けのプログラミングスクールです。
「現場で役に立つノウハウを学びプロのエンジニアとして活躍したい社会人の方」「自分でWebサービスを開発してみたい方」「高い学習効率でプログラミングを学びたい方」におすすめのプログラミングスクールです。
3つのポイント
プログラミングを学ぶだけでなく、要件定義書、ER図、データベースのテーブル定義書の作成等も実際に仕事で利用するスキルを学ぶことができます。
受講期間中は定期的に面談を行い、適切な学習内容や学習計画をアドバイスします。
ほとんどの人は「自分一人では続けることができない」ことを理解しています。
ディープロではあなたの目標達成までをサポートします。
1秒でも早く、悩みを解決できるため、最短で目標を達成することができます。
即戦力のスキルを身につけるプログラミングスクール【DMM WEBCAMP 学習コース(旧:SKILLS)】
即戦力のスキルを身につけるプログラミングスクール【DMM WEBCAMP 学習コース(旧:SKILLS)】とは?
現役エンジニアによるマンツーマンの学習サポートと確実に上達できる独自メソッドにより即戦力のスキルを身につけられるプログラミングスクールです。
対象コース
プログラミングの他に、Webデザインや動画編集、AI・データサイエンスに特化したコースもあります。
- はじめてのプログラミングコース
- Webアプリケーションコース
- PHP / Laravelコース
- Javaコース
- Webデザインコース
- UI / UXコース
- 動画クリエイターコース
- Pythonコース
おすすめポイント
通過率わずか10%の選考を突破した現役エンジニアが即戦力までの道のりをサポートしていきます。
チャットにていつでも質問可能で、疑問点を随時質問できるほか、
週に2回のメンタリングでは、学習方法のレクチャーやモチベーションの維持・向上を行っています。
カナダで開発・実践されてきたICEモデルに基づきカリキュラムを独自開発しています。
3,000人以上の学習データから最適な学習内容と課題を設計し、
受講生の97%が未経験者ながら業界の中でも高い学習継続率を実現しています。
希望に応じて転職や副業のサポートを無料で受けることができます。
スキルを習得して終わりではなく、そのスキルをどのように活かすかまでをサポートいたします。
こんな方におすすめ
男女20〜30代を中心(全体の約75%)に、10代から60代と幅広い年齢層の方が転職・キャリアアップ・スキルアップを考え、受講されています。
プログラミングを学ぶなら【テックアカデミー】
テックアカデミーはこんなところです!
選抜された現役エンジニアから学べるオンラインに特化したプログラミングスクールです。
どこかに通う必要なく、自宅でもWeb制作・プログラミング・アプリ開発を学ぶことができます。
転職の支援はもちろん、副業に活かせるスキルの習得から、実際の副業のお仕事をご紹介するところまで寄り添います。
現在提供中のコース
<Web制作・システム開発系>
- はじめての副業コース
- Webデザインコース
- フロントエンドコース
- PHP/Laravelコース
- WordPressコース
- はじめてのプログラミングコース
- UI/UXデザインコース
- Webアプリケーションコース(Ruby on Rails)
- Javaコース
<データサイエンス・AI>
- Pythonコース
- AIコース
- データサイエンスコース
<アプリ開発>
- iPhoneアプリコース
- Androidアプリコース
- Unityコース
<Webマーケティング>
- Webマーケティングコース
<動画>
- ムークリ
<エンジニア転職支援>
- TechAcademy Pro(エンジニアへの転職を保証するコース)
こんな方におすすめ
- 働きながら副業を目指す方
- 今後フリーランスとして働きたい方
- スキルを習得して、就職/転職を目指す方
- 過去にプログラミングやWebデザインを勉強して挫折した方
- 非エンジニアで今の仕事にプログラミングやWebデザインのスキルを活かしたい方
テックアカデミーのポイント
- 初心者が9割以上。挫折せずに学べる
- 副業のことが学べるはじめての副業コースが人気。
- 受講した方には実際に副業を当社から1案件以上斡旋するテックアカデミーワークス
- 自宅にいながらオンライン完結で勉強できるのでライフスタイルに合わせて受講できる
- 受講生に1人ずつ現役のプロのパーソナルメンターがつく
- チャットで質問すればすぐにプロから回答が返ってくる
- オリジナルサービスやオリジナルアプリなどの開発までサポート
PATHの設定
「~/.bash_profile」ファイルにパスを追加
「~/.bash_profile」ファイルにパスを追加します。
ターミナルで以下のコマンドを実行します。
echo 'export PATH=$PATH:/Library/PostgreSQL/17/bin' >> ~/.bash_profile
「~/.zprofile」ファイルにパスを追加
「~/.zprofile」ファイルにもパスを追加します。
ターミナルで以下のコマンドを実行します。
echo 'export PATH=$PATH:/Library/PostgreSQL/17/bin' >>
バージョン確認
ターミナルを一度終了して再起動します。
以下のコマンドでバージョン確認をします。
postgres --version
「postgres (PostgreSQL) 17.1」とバージョンが表示されれば設定完了です。

インストール・設定作業お疲れ様でした!
最後までお読みくださり、ありがとうございました!