PostgreSQL: 2024年11月アーカイブ

Homebrew をインストールしたので、早速 PostgreSQL のインストールをしてみる。

まずは、brew でインストール可能な PostgreSQL を探す

% brew search postgresql
==> Formulae
postgresql@11    postgresql@12    postgresql@13    postgresql@14    postgresql@15    postgresql@16    postgresql@17    qt-postgresql    postgrest

==> Casks
navicat-for-postgresql                                                        posture-pal

If you meant "postgresql" specifically:
postgresql breaks existing databases on upgrade without human intervention.

See a more specific version to install with:
  brew formulae | grep postgresql@

postgres だけ指定したら最新バージョンで現行システム上書くでってことかな?
それで構わないので、今回は postgres だけ指定。

% brew install postgresql
Warning: Formula postgresql was renamed to postgresql@14.
==> Downloading https://ghcr.io/v2/homebrew/core/postgresql/14/manifests/14.13_3
<略>
This formula has created a default database cluster with:
  initdb --locale=C -E UTF-8 /opt/homebrew/var/postgresql@14

To start postgresql@14 now and restart at login:
  brew services start postgresql@14
Or, if you don't want/need a background service you can just run:
  /opt/homebrew/opt/postgresql@14/bin/postgres -D /opt/homebrew/var/postgresql@14
shinoda@shinodamasanorinoMacBook-Air smart_lap % brew services list     
Name          Status User File
postgresql@14 none  

これでインストール終了。

メッセージに起動方法が書かれているので、起動してみる。

% /opt/homebrew/opt/postgresql@14/bin/postgres -D /opt/homebrew/var/postgresql@14 &
[1] 34533
shinoda@shinodamasanorinoMacBook-Air smart_lap % 2024-11-13 20:40:08.668 JST [34533] LOG:  starting PostgreSQL 14.13 (Homebrew) on aarch64-apple-darwin24.1.0, compiled by Apple clang version 16.0.0 (clang-1600.0.26.4), 64-bit
<略>

クライアントソフトの psql も実行してみる。

% psql --version
psql (PostgreSQL) 14.13 (Homebrew)

うむ。ちゃんとインストールされているな。

ちなみに、Homebrew でインストールした場合は、brew services コマンドでの起動もできるようだ。

起動して、すぐに停止してみる。

% brew services start postgresql
Warning: Formula postgresql was renamed to postgresql@14.
==> Successfully started `postgresql@14` (label: homebrew.mxcl.postgresql@14)
% brew services stop postgresql
Warning: Formula postgresql was renamed to postgresql@14.
Stopping `postgresql@14`... (might take a while)
==> Successfully stopped `postgresql@14` (label: homebrew.mxcl.postgresql@14)

問題なし。
さて、続いて PostgreSQL の設定をするか。
俺も「軽い」macOS ユーザなので、アプリのインストールは DMG ファイルから行ったり、ZIP ファイルを解凍してアプリケーションフォルダにコピーしたり、そういうやり方しか知らなかった。パッケージマネージャなど使ったことがなかった。

しかし、DBMS(今回入れるのは PostgreSQL)のインストールにはパッケージマネージャから入れておいたほうが後々バージョンアップとか楽だということなので、今回 Homebrew を入れてみた。

とりあえずターミナル上で、brew を実行してみると、

% brew --version
zsh: command not found: brew

とエラーが。うむ。新規インストールせねば。

Homebrew の公式サイトに載っている手順通りに実施。
サイトから curl で最新のインストーラを取ってきて実行。

% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
==> Checking for `sudo` access (which may request your password)...
Password:<macOS ユーザのパスワード>
==> This script will install:
/opt/homebrew/bin/brew
/opt/homebrew/share/doc/homebrew
/opt/homebrew/share/man/man1/brew.1
<以下略>

これだけでインストールは終了。

ただ、これだけだと brew のパスが通ってないので、ターミナルに出力されているインストールメッセージの Next Step に書かれているコマンドを実行しろと言われる。

Warning: /opt/homebrew/bin is not in your PATH.
  Instructions on how to configure your shell for Homebrew
  can be found in the 'Next steps' section below.

言われたとおりに実行してみる。

% echo >> /Users/hogehoge/.zprofile
% echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/hogehoge/.zprofile
% eval "$(/opt/homebrew/bin/brew shellenv)"

その後、brew を実行してみる。

% brew --version
Homebrew 4.4.4

バッチリ(笑)
20241107_sql_error.jpg

PostgreSQL でカラム(列)追加するときって、

ALTER TABLE table1 ADD col1 CHARACTER VARYING(10)

で OK なんだが、ADD の後ろに COLUMN って付けたらダメじゃったんかいねえ?

AS:SQL Mk-2 の SQL 窓で

ALTER TABLE table1 ADD COLUMN col1 CHARACTER VARYING(10)

ってすると、「キーワード 'COLUMN' 付近に不適切な構文があります」ってエラーになっちゃう。

久しぶりなんで記憶が今一つ曖昧だけど・・・

仕事で SQLServer、MySQL、PostgreSQL を使っているんだが、最近は MySQL が多かったんで記憶がごっちゃになってたけど、PostgreSQL では ADD COLUMN はエラーだけど、MySQL は ADD だけでも ADD COLUMN でもどっちでもいいんやな。

もう、すっかり ADD COLUMN って打つのが癖になってたわ。
つーか、PostgreSQL も ADD COLUMN くらい許せよ(^^;;;

このアーカイブについて

このページには、2024年11月以降に書かれたブログ記事のうちPostgreSQLカテゴリに属しているものが含まれています。

前のアーカイブはPostgreSQL: 2020年1月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら