目录
最近需要特别学习PostgreSQL,因此这里记录下安装过程
安装及初始化
使用homebrew安装
brew install postgresql
等待安装完成后,初始化:
initdb /usr/local/var/postgres
如果提示directory "/usr/local/var/postgres" exists but is not empty,那么需要清空该目录然后重新初始化,清空可以使用如下命令
rm -rf /usr/local/var/postgres
启动服务:
pg_ctl -D /usr/local/var/postgres -l /usr/local/var/postgres/server.log start
如果使用的比较频繁,可以设置开机启动:
ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
创建数据库和账户
mac安装postgresql后不会创建用户名数据库,执行命令:
createdb
然后创建postgres用户:
CREATE USER postgres WITH PASSWORD 'password';
删除默认生成的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 [post]
-U指定用户,-d指定数据库,-h指定服务器,-p指定端口
如果仅使用 psql 命令也可直接登陆,会使用缺省数据,缺省如下:
user:当前mac用户
database:用户同名数据库
主机:localhost
端口号:5432,postgresql的默认端口是5432
完整的登陆例子为:
psql -Upostgres -dpostgres -hlocalhost -p5432
控制台常用命令
\password:设置当前登录用户的密码
\h:查看SQL命令的解释,比如\h select。
\?:查看psql命令列表。
\l:列出所有数据库。
\c [database_name]:连接其他数据库。
\d:列出当前数据库的所有表格。
\d [table_name]:列出某一张表格的结构。
\du:列出所有用户。
\e:打开文本编辑器。
\conninfo:列出当前数据库和连接的信息。
\password [user]: 修改用户密码
\q:退出