データベースの存在を確認するコマンド
> psql -U <ユーザー名> -l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -------------------------+----------+----------+---------+-------+----------------------- postgres | xxxxxxxx | UTF8 | C | C | xxxxxxxx_test | xxxxxxxx| UTF8 | C | C | .........
オプションのマニュアルはこちら
> psql --help psql is the PostgreSQL interactive terminal. Usage: psql [OPTION]... [DBNAME [USERNAME]] -U, --username=USERNAME database user name (default: "xxxxxxxx")
connection to server at "localhost" (127.0.0.1), port xxxxxxxx failed: FATAL: role "postgres" does not exist
ローカルホストがすでに使用されていて、接続できない場合に表示されるエラーです。
以下のコマンドでローカルで動いているpostgresを確認し、
ps aux | grep postgres
存在していたら次のコマンドでプロセスを止めます。
brew services stop postgresql
1つ目のpsコマンドのオプションについては以下のとおり。
# NAME ps – process status -a Display information about other users' processes as well as your own. This will skip any processes which do not have a controlling terminal, unless the -x option is also specified. -u Display the processes belonging to the specified usernames. -x When displaying processes matched by other options, include processes which do not have a controlling terminal. This is the opposite of the -X option. If both -X and -x are specified in the same command, then ps will use the one which was specified last.
macOSでは Systemd をデフォルトではサポートしていないため、systemctl
コマンドはmacOSでは使用できません。
そのため、入力すると sudo: systemctl: command not found
といったエラーがおきます。
macOSでは、brew services
コマンドを使用してHomebrewで管理されたサービス(PostgreSQLなど)を制御します。
停止以外のコマンドについても合わせて書き留めておきます。
# PostgreSQLを起動する場合: brew services start postgresql # PostgreSQLを再起動する場合: brew services restart postgresql