提示:以ubuntu系统为例

1、进入数据库容器:

1、查看容器:docker ps
2、进入数据库容器:docker exec -it 容器名称(或id) bash
3、切换到postgres的用户 :sudo su postgres

  • (1)安装postgresql会在系统中默认建了一个postgres的用户;
  • (2)想“操作数据库”就得切换到这个用户下,才能进行操作;
  • (3)postgres这个用户是整个数据库的系统管理员;
  • (4)root用户可以直接:su postgres
[root@i docker]# docker ps
CONTAINER ID     IMAGE                     COMMAND                  CREATED             STATUS                 PORTS                                       NAMES
0000a0000e09     k/pot:latest    "/b/sh -c /s…"   7 weeks ago         Up 10 days             0.0.0.0:1234->2234/tcp                      postgres
[root@i docker]# docker exec -it 0000a0000e09 bash
root@0000a0000e09:/scripts# su postgres
postgres@0000a0000e09:/scripts$

2、看当前数据库版本:

postgres@0000a0000e09:/$ psql --version
psql (PostgreSQL) 12.3 (Debian 12.3-1.pgdg100+1)

3、进入数据库:

postgres@0000a0000e09:/$ psql
psql (12.3 (Debian 12.3-1.pgdg100+1))
Type "help" for help.

postgres=# 


4、查看所有数据库:

\l (相当于show database)

postgres=# \l
                                       List of databases
        Name        |   Owner    | Encoding |   Collate   |    Ctype    |   Access privileges   
--------------------+------------+----------+-------------+-------------+-----------------------
 test               | test     | UTF8     | en_US.UTF-8 | en_US.UTF-8 | 
 template0          | postgres   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
 template1          | postgres   | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
(3 rows)

5、切换数据库:

\c +数据库名 (相当于mysql中的,use 数据库)

postgres=# \c test
You are now connected to database "test" as user "postgres".
test=# 

6、查看库中表:

test=# \d
                        List of relations
 Schema |               Name               |   Type   |  Owner   
--------+----------------------------------+----------+----------
 public | city                             | table    | test

7、创建数据库:

1、创建数据库
creat database test1

2、创建数据库,并给指定用户
(1)创建用户

 create user 用户名 with login password '密码';
 CREATE ROLE

(2)设定库所有者

 create database 数据库名 owner 用户名;

8、删除数据库:

 drop database 数据库名 ;

删除完。\l刚才的创建的数据库就没有了

9、导入数据库:

(1)导入数据库

 \q先退出数据库编辑模式 ;
 psql -U testuser   testdb <  /data/backup.sql    用户名和数据库
 psql -h localhost -u 用户名 -d 库名 <XXX.bak(数据库文件)

(2)远程连接和导入命令

 \q先退出数据库编辑模式 ;
 psql -h 主机域名或者ip(例如:localhost) -u 用户名 -d 库名 <XXX.bak(数据库文件)
 
 例如:psql  -h postgres.db.com   -p 5432  -U testuser  -d  testdb;
psql  -h postgres.db.com  -U testuser  -d  testdb  <  student.utf8.sql

10、退出数据库:

test-# \q
could not save history to file "/v": No such file or directory
postgres@0000a0000e09:/$ 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐