with和without time zone两者有什么区别

1.区别

1)名字上看一个是带时区的,另一个是不带时区的,查出来的时间是一样的,只是一个带时区标志,一个不带而已,时区的基准是格林威治时间UTC。
2)这对于数据的显示上来说,区别就是时间数据的末尾带不带时区标志,即+/-时区,比如中国(prc),时区是东八区,带时区标志的话就是+08。

数据库内部还是都存储的是UTC格式时间,根据当前的时区进行转换显示。

2.查看配置文件中时区的配置:

[postgres@localhost ~]$ more /database/pgdata/postgresql.conf |grep timezone
log_timezone = 'US/Pacific'
timezone = 'US/Pacific'
#timezone_abbreviations = 'Default' # Select the set of available time zone
# share/timezonesets/.

3.客户端时区的更改说明

在服务端有一些时区的配置信息,安装的时候就给装上了,客户端时区的更改并不能随意设置。
这些配置信息是放在$PGHOME/share/timezone里面。

4.实验:

美国西7区与中国东八区相差15个小时,格林威治时间UTC和东八区相差8个小时

test=# set timezone="US/Pacific";
SET
test=# show timezone;
TimeZone
------------
US/Pacific
( row) test=# select now()::timestamp with time zone, now()::timestamp without time zone;
now | now
-------------------------------+----------------------------
-- ::47.578319- | -- ::47.578319
( row) test=# set timezone=prc;
SET
test=# show timezone;
TimeZone
----------
PRC
( row) test=# select now()::timestamp with time zone, now()::timestamp without time zone;
now | now
-------------------------------+----------------------------
-- ::01.898303+ | -- ::01.898303
( row) test=# set timezone=UTC;
SET
test=# show timezone;
TimeZone
----------
UTC
( row) test=# select now()::timestamp with time zone, now()::timestamp without time zone;
now | now
-------------------------------+----------------------------
-- ::09.018571+ | -- ::09.018571
( row)

北京、上海都是PRC东八区,时间是一样的

test=# set timezone="Asia/Shanghai";
SET
test=# show timezone;
TimeZone
---------------
Asia/Shanghai
( row) test=# select now()::timestamp with time zone, now()::timestamp without time zone;
now | now
-------------------------------+----------------------------
-- ::26.704907+ | -- ::26.704907
( row) test=# set timezone="Asia/Beijing";
SET
test=# select now()::timestamp with time zone, now()::timestamp without time zone;
now | now
-------------------------------+----------------------------
-- ::41.534930+ | -- ::41.534930
( row) test=# set timezone=PRC;
SET
test=# select now()::timestamp with time zone, now()::timestamp without time zone;
now | now
-------------------------------+----------------------------
-- ::54.704583+ | -- ::54.704583
( row)

PostgreSQL中with和without time zone两者有什么区别的更多相关文章

  1. 通过arcgis在PostgreSQL中创建企业级地理数据库

    部署环境: Win7 64位旗舰版 软件版本: PostgreSQL-9.1.3-2-windows-x64 Postgis-pg91x64-setup-2.0.6-1 Arcgis 10.1 SP1 ...

  2. PostgreSQL 中日期类型转换与变量使用及相关问题

    PostgreSQL中日期类型与字符串类型的转换方法 示例如下: postgres=# select current_date; date ------------ 2015-08-31 (1 row ...

  3. PostgreSQL 中定义自己需要的数据类型

    PostgreSQL解决某系数据库中的tinyint数据类型问题,创建自己需要的数据类型如下: CREATE DOMAIN tinyint AS smallint CONSTRAINT tinyint ...

  4. 在PostgreSQL中使用oracle_fdw访问Oracle

    本文讲述如何在PostgreSQL中使用oracle_fdw访问Oracle上的数据. 1. 安装oracle_fdw 可以参照:oracle_fdw in github 编译安装oracle_fdw ...

  5. [原创]PostgreSQL中十进制、二进制、十六进制之间的相互转换

    在PostgreSQL中,二进制.十进制.十六进制之间的转换是非常方便的,如下: 十进制转十六进制和二进制 mydb=# SELECT to_hex(10); to_hex -------- a (1 ...

  6. 用python随机生成数据,再插入到postgresql中

    用python随机生成学生姓名,三科成绩和班级数据,再插入到postgresql中. 模块用psycopg2 random import random import psycopg2 fname=[' ...

  7. PostgreSQL 中如何实现group_concat

    之前在MySQL中使用group_concat,觉得超级好用. 今天在PostgreSQL需要用到这样的场景,就去学习了一下. 在PostgreSQL中提供了arr_agg的函数来实现聚合,不过返回的 ...

  8. Postgresql中临时表(temporary table)的特性和用法

    熟悉Oracle的人,相比对临时表(temporary table)并不陌生,很多场景对解决问题起到不错的作用,开源库Postgresql中,也有临时表的概念,虽然和Oracle中临时表名字相同,使用 ...

  9. PostgreSQL中JSON、JSONB基本操作符

    PostgreSQL 9.5以上的版本中有了很多方便的操作符,使得操作 JSON 变得非常方便了. 一. -> 和 ->> : -> 表示获取一个JSON数组元素,支持下标值( ...

随机推荐

  1. CF990G GCD Counting 点分治+容斥+暴力

    只想出来 $O(nlogn\times 160)$ 的复杂度,没想到还能过~ Code: #include <cstdio> #include <vector> #includ ...

  2. Shell操作

    Shell 1. 我们无法直接和内核打交道,Shell就是用来解释命令,用来和内核打交道用的. 2. Shell有不同形式(同样命令在不同shell中不一定通用):cshell.bash.kshell ...

  3. 牛客网 Wannafly挑战赛3 B.遇见

    遇见 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld 题目描述 A和B在同一条路上,他们之间的距离为 k ...

  4. 棋盘问题 ( POJ -1321 )(简单DFS)

    转载请注明出处:https://blog.csdn.net/Mercury_Lc/article/details/82684942作者:Mercury_Lc 题目链接 题解:dfs入门,就是每个点都搜 ...

  5. Windows上redis下载与安装

    一.redis是什么 非关系型内存数据库,以key-value的形式将数据储存在内存中.Mysql是关系型数据库,数据是保存在硬盘中 二.redis下载安装 1.要安装Redis,首先要获取安装包. ...

  6. luoguP5024 保卫王国

    题目链接 问题分析 其实是比较明显的动态DP. 懒于再推一遍式子,直接用 最小权点覆盖=全集-最大权独立集,然后就和这道题一样了.题解可以看这里. 然后必须选或者不选的话,就直接把相应的点权变成\(- ...

  7. [Java]一段尚未雕琢的分词代码

    package com.hy; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStrea ...

  8. 学习Oracle数据库入门到精通教程资料合集

    任何大型信息系统,都需要有数据库管理系统作为支撑.其中,Oracle以其卓越的性能获得了广泛的应用.本合集汇总了学习Oracle数据库从入门到精通的30份教程资料. 资料名称 下载地址 超详细Orac ...

  9. 提交SVN Working copy locked解决

    今天一大早提交SVN的时候,出现这个错误: 百度了一下原因:因为我强制在commit的时候退出了,导致svn项目文件被锁了,不能commit,不能update了 赶紧百度了一下解决办法: http:/ ...

  10. configmap使用-查看configmap个数

    [root@kube-node1 gitlab]# kubectl get cmNo resources found.