PostgreSQL:查询元数据(表 、字段)信息、库表导入导出命令[亲测有效]

PostgreSQL:查询元数据(表 、字段)信息、库表导入导出命令[亲测有效]一、查询表、模式及字段信息 1、查询指定模式下的所有表 select tablename,* from pg_tables where schemaname = 'ods'; 2、查询

PostgreSQL:查询元数据(表 、字段)信息、库表导入导出命令

一、查询表、模式及字段信息

1、查询指定模式下的所有表

select tablename,*
from pg_tables
where schemaname = "ods";

2、查询指定模式下的表名及字段

SELECT
	C.relname,
	A.attname AS NAME,
	format_type ( A.atttypid, A.atttypmod ) AS TYPE,
	col_description ( A.attrelid, A.attnum ) AS COMMENT
FROM
	pg_class AS C,
	pg_attribute AS A,
	pg_tables AS B
WHERE A.attrelid = C.oid
  and C.relname=B.tablename
  AND A.attnum > 0
  AND B.schemaname = "ods"
  AND B.tablename NOT SIMILAR TO "[a-z,_]+_2022[0-9]+";

3、查询包含指定字段的表

SELECT DISTINCT
	C.relname
FROM
	pg_class AS C,
	pg_attribute AS A,
	pg_tables AS B
WHERE A.attrelid = C.oid
  and C.relname=B.tablename
  AND A.attnum > 0
  AND B.schemaname = "ods"
  AND B.tablename NOT SIMILAR TO "[a-z,_]+_2022[0-9]+"
  AND A.attname ="dt";

4、查询指定表的字典(表名、字段名、备注、类型)

select
  c.relname as 表名,
  obj_description(relfilenode, "pg_class")::varchar as 表注释,
  d.description as 字段备注,
  a.attname as 字段名,
  concat_ws ("", t.typname,SUBSTRING (format_type (a.atttypid,a.atttypmod) from"(.*)")) as 字段类型
from
  pg_class c,
  pg_attribute a,
  pg_type t,
  pg_description d
where a.attnum > 0
	and a.attrelid = c.oid
	and a.atttypid = t.oid
	and d.objoid = a.attrelid
	and d.objsubid = a.attnum
	and c.relname in (select tablename from pg_tables where schemaname = "ap")
	and c.relname = "fact_ito"

查询非分区表:and position (“_2” in tablename) = 0

 

二、会话及锁信息

1、查询所有会话

SELECT sa.* FROM pg_catalog.pg_stat_activity sa

三、导入导出命令

1、数据库导入导出

(1)从源数据库导出结构

pg_dump --host=172.16.6.219 --port=5432 --username=postgres --dbname=bigdata --if-exists --clean --no-privileges --no-owner --schema-only --file=bigdata_20220815.sql

(2)从源数据库导出结构和数据

sudo pg_dump --host=172.16.6.219 --port=5432 --username=postgres --dbname=kettle --if-exists --clean --no-privileges --no-owner --file=kettle_20221110.sql

 (3)从文件导入目标数据库

sudo psql --host=localhost --port=5432 --username=postgres --file=kettle_20221110.sql --dbname=kettle 

 2、模式导入导出

(1)导出模式结构

sudo pg_dump --host=172.16.6.219 --port=5432 --username=postgres --dbname=bigdata --schema=ods --if-exists --clean --no-privileges --no-owner --schema-only --file=schema_bigdata_ods_20221110.sql

(2)导出模式结构和数据

sudo pg_dump --host=172.16.6.219 --port=5432 --username=postgres --dbname=bigdata --schema=ods --if-exists --clean --no-privileges --no-owner --file=bigdata_ods_20221110.sql

(3)从文件导入模式

sudo psql --host=172.16.6.219 --port=5432 --username=postgres --file=bigdata_ods_20221110.sql --dbname=bigdata

3、表导入导出

(1)导出源表结构

pg_dump --username=postgres  --host=172.16.5.66 --port=5432 --dbname=bigdata --if-exists --clean --schema-only --no-privileges --no-owner --file=dim_area_value.sql  --table=ap.dim_area_value

(2)导出源表数据和结构

pg_dump --username=postgres  --host=172.16.5.66 --port=5432 --dbname=bigdata --if-exists --clean --no-privileges --no-owner --file=dim_area_value.sql  --table=ap.dim_area_value 

(3)从文件导入至目标表

psql --host=112.94.20.4  --port=5432 --username=postgres --file=dim_area_value.sql --dbname=bigdata

 4、免密配置

PostgreSQL:查询元数据(表 、字段)信息、库表导入导出命令[亲测有效]

5、实际执行的命令

(1)导入

COPY ap.analysis_operating_expenses_details (amount, level_one_name, 
                                             level_two_name, level_three_name, 
                                             level_four_name, name, date, 
                                             organization_name, organization_name_short, 
                                             dim_customer_name, customer_type, cus_industry,
                                             staff_name, cus_manage_code) FROM stdin;

(2)导出

COPY ap.fact_ship_20221031 (order_no, order_line_no, produce_no, 
                            ship_no, cus_code, product_code, 
                            sales_area_code, sales_organize_code,
                            sales_scene, ship_quantity, receipt_quantity,
                            receipt_baseline, receipt_baseline_days,
                            forecast_receipt_date, forecast_income_date, 
                            ship_date, production_cost_baseline, price,
                            receipt_overdue_flag, receipt_overdue_level,
                            income_rule, dt, warehouse_code, staff_code,
                            contract_type, confirm_rule, material_cost_baseline, 
                            artificial_cost_baseline, manufacture_cost_baseline,
                            cus_biz_no, not_tax_price, not_tax_authorize_price,
                            ship_row) TO stdout;

 

原文地址:https://www.cnblogs.com/liujinhui/archive/2022/11/11/16880860.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/4554.html

(0)
上一篇 2023-06-14
下一篇 2023-06-14

相关推荐

  • mysql:连接字符串函数concat()、concat_ws()、group_concat()区别

    mysql:连接字符串函数concat()、concat_ws()、group_concat()区别功能:将多个字符串连接成一个字符串concatconcat(str1,str2,…)concat_ws(一次性可以指定分隔符号)concat_ws(separator,str1,str2,……

    2023-04-05
    174
  • Python字典:实现数据存储和操作的利器

    Python字典:实现数据存储和操作的利器Python字典是一种非常常用的数据结构,使用键值对的方式进行数据存储和操作。它是Python语言的内置类型,无需进行导入,可以直接使用。Python字典具有高效、快速的特点,适合用于数据缓存、表达复杂结构等场景。

    2023-12-13
    107
  • Python字符串截取指定内容为中心

    Python字符串截取指定内容为中心Python是一种高级编程语言,它支持多种数据类型,其中字符串是最常用的数据类型之一。字符串截取是Python字符串操作中经常使用的功能之一,可以帮助我们从一个字符串中选取包含指定内容的子字符串。这篇文章将从多个方面探讨Python字符串截取指定内容为中心。

    2024-06-06
    62
  • Python Object类型介绍

    Python Object类型介绍Python是一门面向对象的语言,这就意味着在Python中,万物皆对象。对象是Python的核心,也是Python所特有的。因此,了解Python Object类型是学习Python的重要前置知识之一。

    2024-07-28
    35
  • redis如何保证高可用_mongodb高可用方案

    redis如何保证高可用_mongodb高可用方案redis可以使用哨兵机制和主从架构部署来保证高可用,任何一个实例宕机,自动会进行主备切换。哨兵的含义就是监控redis系统的运行状态。可以启动多个哨兵,去监控redis数据库的运行状态。

    2022-12-20
    157
  • 开源数据库客户端_mac如何安装数据库

    开源数据库客户端_mac如何安装数据库TablePlus是一款管理开发数据库的原生应用,它可以帮助您轻松编辑数据库中的数据和结构。TablePlus还包含许多安全功能以更好地保护您的数据安全,包括使用本地libssh和TLS来加密您的连接

    2023-06-13
    145
  • Kubernetes 部署 Nebula 图数据库集群[通俗易懂]

    Kubernetes 部署 Nebula 图数据库集群[通俗易懂]Kubernetes 是什么 Kubernetes 是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes 的目标是让部署容器化的应用简单并且高效,Kubernetes 提供了…

    2023-01-31
    126
  • 使用PyCharm进行Python开发的注意事项

    使用PyCharm进行Python开发的注意事项Python作为一种高级编程语言,其应用广泛,功能强大。如果你正在使用PyCharm进行Python开发,并且想让你的代码中有中文,那么就需要注意一些事项。

    2024-07-05
    48

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注