网站制作学习网Database→正文:PostgreSQL 常用操作
字体:

PostgreSQL 常用操作

Database 2023/11/5 18:36:41  点击:不统计

<文章来源:www.forasp.cn网站制作学习>

PostgreSQL常规操作,包括登录,退出,数据库操作,和隐藏数据库信息等
 
1. 登录
(1) 默认有个系统账号 postgres 
su postgres # 登录系统账号,后运行下面命令
psql # 进入数据库命令行。
 
(2) 如果忘记密码,分两步骤
1. 如果设置 系统账号 postgres命令,用root 进行修改
2. 忘记进入后 的数据库账号postgres 修改
/etc/postgresql/12/main/pg_hba.conf
找到 postgres 账号,然后把 后面的md5 修改为 trust
然后重启,登录就可以进去了。进入后修改密码
ALTER USER postgres WITH PASSWORD 'postgres';
成功后,修改配置文件 为md5 重启,然后再登录,就可以了。
 
(3) 登录指定用户/数据库
psql -U  userName  -d dbName  -W
-h xxx.xxx.xxx  # 连接地址 
-W 标示输入密码
-h 标示登录数据库IP,如果本地设置了127.0.0.1 则指定一下
 
(4)查询所有用户
SELECT * FROM pg_user
 
2.  退出命令 \q
 
3.  数据库相关操作
(1) 列出数据库
\l  # 反斜杠+l
 
(2) 创建数据库
create database forasp;   # 创建 名称为 forasp 的数据库
 
(3) 切换数据库
\c  forasp;
You are now connected to database "forasp" as user "postgres". # 
切换后,命令行前缀就是  forasp=#
 
(4) 删除数据库
drop database forasp;
 
(5) 以上命令也可以在 进入 postgres 账号后也可以直接操作。
 
4.  数据库类型
(1) 数据
smallint 2 字节 小整数 -32768 到 +32767
integer 4 字节 常用的整数 -2147483648 到 +2147483647
bigint 8 字节 大整数 -9223372036854775808 到 9223372036854775807
decimal 变长 用户定义精度,可以精确地表示小数 无限制
numeric 变长 用户定义精度,可以精确地表示小数 无限制
real 4 字节 精度可变,不能精确地表示小数 精度是6个十进制位
double precision 8 字节 精度可变,不能精确地表示小数 精度是15个十进制位
serial 4 字节 小范围的自增整数 大范围的自增整数
bigserial 8 字节 大范围的自增整数 1 到 9223372036854775807
(2) 字符串类型
character varying(*n*), varchar(*n*) 变长,最大长度有限制
character(*n*), char(*n*) 定长, 不足补空白
text 变长,最大长度没有限制
 
(3) 日期类型
timestamp [ (*p*) ] [ without time zone ] 8 bytes 包括日期和时间 4713 BC 294276 AD 1微妙/ 14 位
timestamp [ (*p*) ] with time zone 8 bytes 包括日期和时间,带时区 4713 BC 294276 AD 1微妙/ 14 位
interval [ (*p*) ] 12 bytes 时间间隔 -178000000 年 178000000 年 1微妙/ 14 位
date 4 bytes 只有日期 4713 BC 5874897 AD 1 天
time [ (*p*) ] [ without time zone ] 8 bytes 只有时间 00:00:00 24:00:00 1微妙/ 14 位
time [ (*p*) ] with time zone 12 bytes 只有时间,带时区 00:00:00+1459 24:00:00-1459 1微妙/ 14 位
 
(4) 其他类型
"char" 1 字节 单字节内部类型
name 64 字节 对象名的内部类型
bytea 1或4 字节加上实际的二进制字符串 变长的二进制字符串
boolean   't''true''y''yes''1';  标示false 的 'f' 'false' 'n' 'no' '0'
 
 
5.  操作数据表
(1)   创建数据库表,进入库后(切换数据库 \c  forasp;)
create table  tablename (
id serial primary key,
name  character(255)
)
(2) 列出所有表
\d   或者 \dt 
列出以 query 开头的表
\dt query*
 
(3)删除表
\DROP TABLE 表名;
 
 
6.查看表信息 ,表信息文件对应的数据库是隐藏的,一般用navicat 无法看到。
(1) information_schema 库,用来存放视图和表,用于描述数据库的架构、关系、权限、统计信息
/dt information_schema.*
(2)  还有其他的库
pg_class           表、索引、序列等数据库对象的元数据信息,每个对象的OID(对象标识符)、类型、所属模式(namespace)以及其他属性
pg_namespace 每个命名空间的OID、名称以及其中包含的对象。
pg_attribute   每个属性的OID、所属对象、名称、数据类型以及其他属性。
 
总的说来就是 information_schema 定义表,比如名称 ,pg_attribute定义字段 pg_class定义 索引,序列,pg_namespace 记录位置逻辑容器等
 

<%77w%77%2Ef%6F%72p%73%70%2Ec%6E>

·上一篇:mysql导入数据后台执行 >>    ·下一篇:sql 优化三层逻辑 >>
推荐文章
最新文章