数据库:PG数据库常用操作

    作者: gcdd1993更新于: 2020-02-19 15:13:50

    数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。

    全量迁移

    • 备份数据
    Copy
    $ pg_dump -h 172.19.235.145 -U  -d  > 20180704_dbpe.sql
    • 正式迁移

    首先要修改备份文件*.sql的owner,防止权限出现错误。

    Copy
    $ psql -h  -U  -d  -f 20180704_dbpe.sql

    【注意点】该迁移操作会覆盖原来的数据库,所以最好创建一个新库。

    列出所有表名和数据库名

    Copy
    select tablename from pg_tables where schemaname ='public';

    PostgreSQL 中 有时候想删除数据库(drop database swiftliveqaapi;),发现提示“ERROR: database "xxxxxx" is being accessed by other users DETAIL: There are 30 other sessions using the database.”

    Copy
    用psql 登录进入, 执行语句:
    SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname='数据库名' AND pid<>pg_backend_pid();
    然后就可以删除数据库了

    修改表的序列为id最大值

    Copy
    SELECT setval('表名_id_seq', (SELECT MAX(id) FROM 表名));

    查询表结构

    Copy
    SELECT 
        COLUMN_NAME AS 列名,
        DATA_TYPE AS 字段类型,
        CHARACTER_MAXIMUM_LENGTH AS 长度,
        IS_NULLABLE AS 是否为空,
        COLUMN_DEFAULT AS 默认值 
    FROM
        INFORMATION_SCHEMA.COLUMNS 
    WHERE
        table_schema = 'public' 
        AND TABLE_NAME = '表名';

    PG 数据库状态,启动,停止

    Copy
    $ pg_ctlcluster 9.5 main status
    $ pg_ctlcluster 9.5 main start
    $ pg_ctlcluster 9.5 main stop
    数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

课课家教育

未登录