本文介绍postgresql在linux(我用的是archlinux)下安装和使用方法:
提示:安装linux之后可以用如下命令,新建linux用户
$ sudo adduser qxj
1.安装pgsql
搜索posgresql
$ yaourt -Ss postgresql
安装postgresql
$ yaourt -S postgresql
2.postgrsql 控制台添加新数据库
1).切换postgres用户
$ sudo su - postgres
2).登录PostgreSQL控制台
$ psql
或登录命令:
psql -U postgres
会进入postgres用户的控制台
此时说明用postgres身份登录数据库,且不需要密码,若输入正常,显示postgres=# ,提示为:
3).给postgres用户设置密码(linux系统用户),通过:
$ \password postgres
4).创建数据库用户:
$ CREATE USER postgres WITH PASSWORD 'password';
postgres为数据库用户名,password为密码
5).创建用户数据库,指定所有者:
$ CREATE DATABASE appstat OWNER appstat_sys;
appstat为数据库名,appstat_sys为所有者
6).将appstat数据库的所有权限都赋予appstat_sys,这样数据库操作才能正常进行,否则只能登录
$ GRANT ALL PRIVILEGES ON DATABASE appstat to appstat_sys;
7).退出
$ \q
3.登录数据库以及使用
$ psql -U appstat_sys -d postgres -h 127.0.0.1 -p 5432
其中-U指 用户,-d指 数据库,-h指 服务器,-p指 端口
登录数据库:
$psql postgres
若posgresql与当前系统用户同名的数据库
直接用 $psql 登录
4.恢复外部数据库
$psql postgres < postgres.sql
5.常用命令
$ \h:查看SQL命令的解释,比如\h select。
$ \?:查看psql命令列表。
$ \l:列出所有数据库。
$ \c [database_name]:连接其他数据库。
$ \d:列出当前数据库的所有表格。
$ \d [table_name]:列出某一张表格的结构。
$ \du:列出所有用户。
$ \e:打开文本编辑器。
$ \conninfo:列出当前数据库和连接的信息。
在archlinx中启动postgresql用以下命令:
# systemctl enable postgresql.service
# systemctl start postgresql.service
备份数据库:
pg_dump -U postgres -d test > test.backup
恢复数据库:
psql -h 0.0.0.1 -p 54321 -d test -U postgres < test.backup