✍23 postgresql批量删除表
在需要删除的数据库下
CREATE FUNCTION del_ora_table() RETURNS void AS $$
DECLARE
tmp VARCHAR(512);
DECLARE names CURSOR FOR
select tablename from pg_tables where schemaname='public';
BEGIN
FOR stmt IN names LOOP
tmp := 'DROP TABLE '|| quote_ident(stmt.tablename) || ' CASCADE;';
RAISE NOTICE 'notice: %', tmp;
EXECUTE 'DROP TABLE '|| quote_ident(stmt.tablename) || ' CASCADE;';
END LOOP;
RAISE NOTICE 'finished .....';
END;
$$ LANGUAGE plpgsql;
--执行函数批量删除表
select del_ora_table();
导入 sql 文件
docker exec -i 5fe0254ef04a psql -U root -d dcs2 < dcs2.sql
删除表内容
TRUNCATE TABLE web_server_c_img_data(表名)
新建用户和数据库
# su root #切换到root用户
# createuser -s postgres # 建一个新的 PostgreSQL 用户
# su - postgres #首先切换到postgres
# psql
postgres=# create user username with password '****';
CREATE ROLE
postgres=#
- 用户名首字母不能大写
- 要以英文分号结尾
- 密码需要引号包裹
创建数据库
postgres=# create database dbtest owner username; #创建数据库指定所属者
CREATE DATABASE
postgres=#
postgres=# grant all on database dbtest to username; #将dbtest所有权限赋值给username
docker 启动
docker run --name my_postgres -v dv_pgdata:/var/lib/postgresql/data -e POSTGRES_PASSWORD=xxxxxx -p 5432:5432 -d postgres:12.1
数据库导入导出
参考: https://www.cnblogs.com/tangda/p/12054958.html
1.导出数据库
-
导出单个表
例:从ip为xxx的数据库monitor中导出threshold的表结构和数据到本地文件threshold.sql:
pg_dump -t threshold -h 135.32.94.142 monitor -U monitor -p 5432 -f threshold.sql
参数说明:-t 指定导出的表名;-h 数据库地址;-U 数据库用户;-p 访问端口;-f 导出到指定文件;
-
导出所有表和所有数据
例:从ip为xxx的数据库monitor导出所有表结构和数据到文件monitor.sql:
pg_dump -h 135.32.94.142 monitor -U monitor -p 5432 -f monitor.sql
-
仅导出所有表结构
例:从ip为xxx的数据库monitor导出所有的表结构到文件monitor.sql:
pg_dump -s -h 135.32.94.142 monitor -U monitor -p 5432 -f monitor.sql
参数说明:-s 表示只导出表结构,不导数据
2.导入数据库
-
导入到远程数据库
例:从本地文件threshold.sql导入表结构和数据到ip为xxx的数据库monitor:
psql -h 135.32.9.99 -d monitor -U monitor -f threshold.sql
参数说明: -h 数据库地址;-d 数据库;-U 指定用户;-f 要导入的文件 注:文件就是从数据库导出的文件。
-
导入到本地数据库
psql -h 0.0.0.0 -d monitor -U monitor -p 5432 -f monitor.sql
参数说明: -p 指定数据库服务端口,视情况而变,默认是5432端口的可以不加
sql文件导入导出
1.导入
psql -d 数据库名 -h ip -p 端口 -U 用户 -f sql文件路径
2.导出
pg_dump -h ip -p 端口 -U 用户 -f 导出路径 数据库
navicat 过期刷新试用
- 前提,电脑没有网,注册机无法试用,系统太旧 xp,无奈试用该方法
1.删除注册表
2.放置文件刷新
3.调整系统时间,不联网
- 更改时间后再试用