主页 > 电脑硬件  > 

数据存储_PGSQL

数据存储_PGSQL
1 概念 1.1 PGSQL 与 MySQL 在开源方面,PostgreSQL 是一个完全开源的数据库管理系统,MySQL 分为两个版本:开源版本和商业版本。数据类型方面,PostgreSQL 提供了丰富的内置数据类型,包括数组、JSON、HSTORE(键值对)等。PostgreSQL 对 SQL 标准的支持较好,支持更多高级 SQL 功能。性能方面,PostgreSQL 支持表分区、并行查询和内置的复制功能,使其适用于大规模应用。 1.2 schema

在 PostgreSQL 中,schema 是一个命名空间,它可以包含数据库对象的名称,如表、视图、索引、数据类型、函数以及运算符。在一个数据库中可以存在多个 schema,它们都有各自的命名空间。这使得多个用户可以在同一个数据库中使用相同的表名,因为它们在不同的 schema 中。

相关SQL命令:

CREATE SCHEMA:创建一个新的 schema,DROP SCHEMA:删除一个 schemaALTER SCHEMA:更改一个已存在的 schema 的属性 2 建立服务器环境 $ docker pull postgres:11.0 $ mkdir /exports/project/pv/data/ -p $ docker run --rm --name pv_postgres -v /exports/project/pv/data/:/var/lib/postgresql/data -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d postgres:11.0

此后即可操作:

使用 Navicat 连接;创建数据库(注意:字符集按 sql 中的设置)创建 schema用sql导入数据 3 用命令行连接服务 $ psql -h ip -p 5432 -U username 4 常用 sql 命令 4.1.1 查看数据库 \l 4.1.2 连接数据库 \c 数据库名; 4.1.3 查看当前库中的数据表 \dt 4.1.4 查看表结构 \d 表名;

实在找不到建表语句,可以把表结构贴到 chatGPT,让他写对应的建表语句

4.1.5 退出 \q 4.1.6 查看 SCHEMA 命名空间 \dn 4.1.7 查看所有表

即使使用最高权限的 postgres 用户,命令行连接也可能看不到某些 schema 对应的表,使用以下命令可以看到命名空间中的表。

select * from pg_tables; 4.1.8 访问表 select * from SCHEMA名.表名; 5 使用 sqlalchemy 连接 pgsql 5.1 安装 $ pip install sqlalchemy $ pip install psycopg2 5.2 代码 from sqlalchemy import create_engine, text from sqlalchemy.orm import sessionmaker db_url = "postgresql://postgres:123456@192.168.10.106:5432/data" engine = create_engine(db_url) Session = sessionmaker(bind=engine) session = Session() result = session.execute(text("select * from pg_type;")) for row in result: print(row) session mit() session.close() engine.dispose() 6 注意事项 where 中注意用单引号设置搜索路径:SET search_path TO data;(设定命名空间)表名:注意大小写,不加引号直接转成小写,对于大写表名,需要加引号 7 参考

postgresql数据库中多个Schemas互相访问 PostgreSQL命令行工具psql常用命令 psql基本命令

标签:

数据存储_PGSQL由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“数据存储_PGSQL