# Mac安装Postgresql **Published by:** [kabukabu](https://paragraph.com/@kabukabu/) **Published on:** 2021-12-27 **URL:** https://paragraph.com/@kabukabu/mac-postgresql ## Content http://www.postgres.cn/docs/14/index.htmlhomebrew 安装安装命令brew install postgresqlTo migrate existing data from a previous major version of PostgreSQL run: brew postgresql-upgrade-database This formula has created a default database cluster with: initdb --locale=C -E UTF-8 /opt/homebrew/var/postgres For more details, read: https://www.postgresql.org/docs/14/app-initdb.html To restart postgresql after an upgrade: brew services restart postgresql Or, if you don't want/need a background service you can just run: /opt/homebrew/opt/postgresql/bin/postgres -D /opt/homebrew/var/postgres 启动和关闭 postgresqlbrew services start postgresql brew services stop postgresql创建数据库和账户初始化数据库及登录mac安装PostgreSQL后不会创建用户名数据库,执行命令:createdb如果不执行 createdb,会报错:psql: error: could not connect to server: FATAL: database "用户名" does not exist 然后登录PostgreSQL控制台:psql eternity=#psql连接数据库默认选用的是当前的系统用户 使用\l命令列出所有的数据库,看到已存在用户同名数据库、postgres数据库,但是postgres数据库的所有者是当前用户,没有postgres用户。创建用户及数据库①创建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 ## Publication Information - [kabukabu](https://paragraph.com/@kabukabu/): Publication homepage - [All Posts](https://paragraph.com/@kabukabu/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@kabukabu): Subscribe to updates