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

相关文章
相关标签/搜索