Mac下安裝Postgresql

目錄

  1. homebrew 安裝
  2. 啓動和關閉 postgresql
  3. 建立數據庫和帳戶
  4. 登錄控制檯指令

一.homebrew 安裝

安裝命令

eternity@TheEternitydeMacBook-Pro ~ % brew install postgresqlcss

eternity@TheEternitydeMacBook-Pro ~ % psql --versionjava

psql (PostgreSQL) 12.3sql

初始化

initdb /usr/local/var/postgres數據庫

若是出現以下提示,能夠跳過此步bash

The files belonging to this database system will be owned by user "eternity".
This user must also own the server process.

The database cluster will be initialized with locale "zh_CN.UTF-8".
The default database encoding has accordingly been set to "UTF8".
initdb: could not find suitable text search configuration for locale "zh_CN.UTF-8"
The default text search configuration will be set to "simple".

Data page checksums are disabled.

initdb: error: directory "/usr/local/var/postgres" exists but is not empty
If you want to create a new database system, either remove or empty
the directory "/usr/local/var/postgres" or run initdb
with an argument other than "/usr/local/var/postgres".

二.啓動和關閉 postgresql

設成開機啓動 PostgreSQL:

ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist

啓動 PostgreSQL:

pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start服務器

關閉 PostgreSQL:

pg_ctl -D /usr/local/var/postgres stop -s -m fast編輯器

三.建立數據庫和帳戶

1.初始化數據庫及登陸

mac安裝PostgreSQL後不會建立用戶名數據庫,執行命令:post

createdb學習

若是不執行 createdb,會報錯:psql: error: could not connect to server: FATAL: database "用戶名" does not existui

而後登陸PostgreSQL控制檯:

psql

示例:

eternity@TheEternitydeMacBook-Pro postgres % psql

psql (12.3)

Type "help" for help.

eternity=#

psql鏈接數據庫默認選用的是當前的系統用戶

使用\l命令列出全部的數據庫,看到已存在用戶同名數據庫、postgres數據庫,可是postgres數據庫的全部者是當前用戶,沒有postgres用戶。

2.建立用戶及數據庫

①建立postgres用戶

CREATE USER postgres WITH PASSWORD '123456';

②刪除默認生成的postgres數據庫

DROP DATABASE postgres;

③建立屬於postgres用戶的postgres數據庫

CREATE DATABASE postgres OWNER postgres;

④將數據庫全部權限賦予postgres用戶

GRANT ALL PRIVILEGES ON DATABASE postgres to postgres;

⑤給postgres用戶添加建立數據庫的屬性

ALTER ROLE postgres CREATEDB;

這樣就可使用postgres做爲數據庫的登陸用戶了,並可使用該用戶管理數據庫

四.登錄控制檯指令

psql -U [user] -d [database] -h [host] -p [port]

-U指定用戶,-d指定數據庫,-h指定服務器,-p指定端口
完整的登陸命令,好比使用postgres用戶登陸

psql -U postgres -d postgres

以前咱們直接使用psql登陸控制檯,實際上使用的是缺省數據

user:當前mac用戶
database:用戶同名數據庫
主機:localhost
端口號:5432,postgresql的默認端口是5432

經常使用控制檯指令

\password:設置當前登陸用戶的密碼
\h:查看SQL命令的解釋,好比\h select。
\?:查看psql命令列表。
\l:列出全部數據庫。
\c [database_name]:鏈接其餘數據庫。
\d:列出當前數據庫的全部表格。
\d [table_name]:列出某一張表格的結構。
\du:列出全部用戶。
\e:打開文本編輯器。
\conninfo:列出當前數據庫和鏈接的信息。
\password [user]: 修改用戶密碼
\q:退出

使用PostgreSQL

如今來簡單的學習一下使用PostgreSQL,如下命令都在postgres=# 環境下
修改用戶密碼
以前咱們用命令CREATE USER postgres WITH PASSWORD 'XXXXXX';建立了postgres用戶,如今咱們來修改該用戶的密碼:

ALTER USER postgres WITH PASSWORD 'XXXXXX'

出現ALTER ROLE, 表明修改角色成功

建立和刪除數據庫用戶

建立user1用戶:CREATE USER user1 WITH PASSWORD 'XXXX'

查看數據庫用戶列表:\du

刪除數據庫用戶:drop user user1;

建立和刪除數據庫

建立數據庫:create database testdb;

查看數據庫列表:\l

刪除數據庫:drop database db1;

建立和刪除數據表

選擇數據庫:\c DatabaseName,好比\c testdb

建立數據庫表:CREATE TABLE COMPANY( ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);

刪除數據庫表: drop table company;

查看數據庫信息:\d

查詢數據:select * from company

相關文章
相關標籤/搜索