PostgreSQL常用命令

PostgreSQL常用命令

切换用户

本机切换到数据库自动创建的用户

su - postgres

进入数据库命令

“`Plain Text

以-U后面接的用户登录

root@kali:~# psql -U postgres -h 127.0.0.1

然后命令行会变化为:

```bash
root@kali:~# su - postgres
postgres@kali:~$ psql
psql (9.4.6)
输入 "help" 来获取帮助信息.

postgres=# 

创建用户

postgres=# create user test with password 'test';
CREATE ROLE

创建数据库

postgres=# create database testdb owner test;
CREATE DATABASE

删除数据库

“`Plain Text
— 删除数据库 pro_1217
drop database pro_1217;

### 授权
```bash
postgres=# grant all privileges on database testdb to test;
GRANT

退出

postgres=# \q

断开已连的数据库

-- 断开连接数据库:pro_1217 的所有连接
-- 注意:不能在pro_1217中执行,需要切换到其他schema
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE datname = 'pro_1217'
  AND pid <> pg_backend_pid();

删除数据库中的表

-- 删除当前shchema下的所有表
DO
$$
    DECLARE
        r RECORD;
    BEGIN
        -- 只删除表,不删除其他
        -- 放在要删除的表的库的shcema下
        -- 如果是用单行执行的客户端工具,记得全选整个语句才能执行,单行执行会报语法错误。
        FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = current_schema())
            LOOP
                EXECUTE 'DROP TABLE IF EXISTS ' || quote_ident(r.tablename) || ' CASCADE';
            END LOOP;
    END
$$;
大T笔记所有文章均为本人原创,转载请您注明来源,并留下原文链接地址,是对我的尊重,也是对知识的尊重,谢谢!
大T笔记 » PostgreSQL常用命令

大T笔记-我的个人互联网创业和自由职业之路

关于我 我的百宝箱
大T笔记-专注个人互联网创业和自由职业