PostgreSQL速查表
使用Mac本地作为开发环境使用PostgreSQL的备忘录
环境
- Mac OSX El Capitan
安装
$ brew install postgresql
$ mkdir -p ~/Library/LaunchAgents
$ ln -sfv /usr/local/opt/postgresql/*.plist ~/Library/LaunchAgents
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
开始/关闭
重启psql
在执行`brew upgrade`之后等情况下
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist
确认PostgreSQL的版本
psql template1
SELECT version();
结束psql
\q
用户(角色)
添加用户角色
以对话形式增加用户
$ createuser --interactive
Enter name of role to add: yourusername
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n
以密码保护并授予超级用户权限,添加用户
$ createuser --superuser --pwprompt USERNAME
设定用户密码
psql -c "alter role USERNAME with password 'PASSWORD';" template1
给用户授予超级用户权限。
psql -c 'alter role USERNAME with superuser;' template1
显示用户列表
psql template1
select usename from pg_user;
或者
psql -c'select usename from pg_user;' template1
数据库
显示数据库列表
psql -l
创建一个数据库
createdb --owner=ユーザ名 データベース名
连接到数据库
psql -d データベース名
展示表格列表
\d
删除数据库
dropdb データベース名
进行数据库备份(以文本转储形式)
pg_dump データベース名 > バックアップファイル名
从备份文件中恢复(文本转储)
createdb --owner=ロール名 リストア先のデータベース名
psql リストア先のデータベース名 < バックアップファイル名
进行数据库备份(自定义)。
- backup_2013-09-10_0.custom のようなファイル名にしておくとあとでわかりやすい
pg_dump --format=custom データベース名 > バックアップファイル名
从备份的文件中还原(自定义)
- -d で指定するDB名は必ず postgres にする
pg_restore -C -d postgres < バックアップファイル名
如果从备份文件中进行恢复(当自定义的恢复目标数据库不同时)
pg_restore -d リストア先のデータベース名 < バックアップファイル名
请向这个参考学习
- http://lets.postgresql.jp/documents/technical/backup/2