时间:2020-08-19来源:www.pcxitongcheng.com作者:电脑系统城
eternity@TheEternitydeMacBook-Pro ~ % brew install postgresql
eternity@TheEternitydeMacBook-Pro ~ % psql --version
psql (PostgreSQL) 12.3
initdb /usr/local/var/postgres
如果出现如下提示,可以跳过此步
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".
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
pg_ctl -D /usr/local/var/postgres stop -s -m fast
mac安装PostgreSQL后不会创建用户名数据库,执行命令:
createdb
如果不执行 createdb,会报错:psql: error: could not connect to server: FATAL: database "用户名" does not exist
然后登录PostgreSQL控制台:
psql
示例:
eternity@TheEternitydeMacBook-Pro postgres % psql
psql (12.3)
Type "help" for help.
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,以下命令都在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
2024-04-11
台式机电脑如何连接外接显示器2024-04-11
小新系列打印机手机配置网络的方法教程2024-04-11
Thinkpad 笔记本F1-F12快捷键分别是什么功能ThinkPad蓝牙鼠标如何配对解答步骤41U5008鼠标驱动官网地址: https://support.lenovo.com/en_US/downloads/detail.page?&LegacyDocID=MIGR-67201 第一种方式是比较传统的:使...
2024-04-11
故障现象: USB设备U盘、移动硬盘等插入后提示无法识别的设备,确认设备本身正常,设备可加电,或插入设备后加电但无任何反应,无法使用。新型号机器多表现为黄色USB接口存在此问题,...
2024-04-11