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. scanf的格式化字符串的匹配规则

    1.对于空白字符:空格.tab.回车等,scanf将忽略输入字符串的空白字符,直到下一个非空白字符,(并回放该非空白字符), 若该非空白字符与格式化字符串匹配,则读入 若该非空白字符与格式化字符串不匹 ...

  2. TensorFlow使用记录 (十): Pretraining

    上一篇的模型保存和恢复熟练后,我们就可以大量使用 pretrain model 来训练任务了 Tweaking, Dropping, or Replacing the Upper Layers The ...

  3. Vue_(组件)实例生命周期钩子

    Vue生命周期中文文档 传送门 Vue生命周期:Vue实例从创建到销毁的过程,称为Vue的生命周期: Vue生命周期钩子:又称为Vue生命周期钩子方法/函数,是Vue为开发者提供的方法,我们可以通过这 ...

  4. HashMap在什么场景下会由哪些内部方法导致线程不安全,至少给出一种场景

    一直以来只是知道HashMap是线程不安全的,但是到底HashMap为什么线程不安全,多线程并发的时候在什么情况下可能出现问题? HashMap底层是一个Entry数组,当发生hash冲突的时候,ha ...

  5. js获取当前页面url信息

    <html> <head> <meta charset="utf-8" /> <title></title> <s ...

  6. 2018-2019-2 网络对抗技术 20165205 Exp8 Web基础

    2018-2019-2 网络对抗技术 20165205 Exp8 Web基础 1.原理与实践说明 1.1实践内容 Web前段HTML:能正常安装.启停Apache.理解HTML,理解表单,理解GET与 ...

  7. Ubuntu14.04升级cmake版本的方法

    在Ubuntu14.04用以下命令默认安装的cmake版本为2.8.x,有时我们需要更高版本的cmake,所以需要升级. $ sudo apt-get install cmake 可通过以下命令查询c ...

  8. Warning: setcookie() expects parameter 3 to be long, string given

    Warning: setcookie() expects parameter 3 to be long, string given 这个是我用php7.0会报这个错误, 切换低版本php5.6就ok

  9. 8,聚类分析 fenxinhuag

    1.K-Means聚类分析 2.系统聚类分析 样本间常用距离: 类间常用距离: 3.DBSCAN聚类分析

  10. GitHub:Microsoft

    ylbtech-GitHub:Microsoft 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部 1. https://github.com/microsoft ...