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
广告
将在 10 秒后关闭
bannerAds