1. Ubuntu安装PostgreSQL
PostgreSQL客户端
sudo apt-get install postgresql-client
PostgreSQL服务器端
sudo apt-get install postgresql
PostgreSQL默认打开本机的5432端口
2. PostgreSQL角色
初次安装后,默认生成一个名为postgres
的数据库和一个名为postgres
的数据库用户。这里需要注意的是,同时还生成了一个名为postgres
的Linux系统用户。
有两种方式为PostgreSQL添加用户和添加数据库
- 使用Linux控制台
为Linux添加新用户
sudo adduser dbuser
切换到postgres
用户(这个用户是PostgreSQL自动创建的)
sudo su postgres
登陆到数据库
psql
这时相当于系统用户postgres
以同名数据库用户的身份,登录数据库,这是不用输入密码的。如果一切正常,系统提示符会变为"postgres=#"
,表示这时已经进入了数据库控制台。以下的命令都在控制台内完成。
1.第一件事是使用\password
命令,为postgres
用户设置一个密码。
\password postgres
2.第二件事是创建数据库用户dbuser(刚才创建的是Linux系统用户),并设置密码。
CREATE USER dbuser WITH PASSWORD 'password';
3.第三件事是创建用户数据库,这里为exampledb,并指定所有者为dbuser。
CREATE DATABASE exampledb OWNER dbuser;
4.第四件事是将exampledb数据库的所有权限都赋予dbuser,否则dbuser只能登录控制台,没有任何数据库操作权限。
GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;
5.最后,使用\q命令退出控制台(也可以直接按ctrl+D)。
\q
- 使用SHELL命令行
创建数据库用户dbuser,并使其成为超级用户
sudo -u postgres createuser --superuser dbuser
然后登陆postgreSQL,设置dbuser的密码。
$ sudo -u postgres psql
postgres=# \password dbuser
接着在shell命令下,创建数据库exampledb
,并指定所有者为dbuser
。
3. 登陆数据库
添加了新用户和新数据库后,以新用户的身份登陆数据库。
psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
psql命令存在简写形式,如果当前的Linux系统用户存在于postgreSQL中,则可以省略用户名,只需要制定数据库名就可以了。
psql exampledb
此时,如果PostgreSQL内部还存在与当前系统用户同名的数据库,则连数据库名都可以省略。
psql
4. 从sql文件导入数据
psql exampledb < exampledb.sql
5. postgreSQL命令
- \h:查看SQL命令的详细解释,例如 \h select
- ?:查看psql命令列表
- \l:列出所有数据库
- \c [database_name]:连接其他数据库
- \d :列出数据库的所有表
- \du:列出所有数据库用户
- \conninfo:列出连接