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. Bootloader - Main system - Recovery的三角关系

    原文地址:http://blog.csdn.net/myarrow/article/details/8115610 一.MTD分区:BOOT:        boot.img,Linux kernel ...

  2. webpack4 单入口文件配置 多入口文件配置 以及常用的配置

    单入口文件配置 webpack.config.js const path = require('path'); const HtmlWebpackPlugin = require('html-webp ...

  3. 1.Linux常用命令大全

    系统信息 arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) h ...

  4. $\LaTeX$数学公式大全1

    $1\ Geek\ and\ Hebrew\ letters$$\alpha$ \alpha$\beta$ \beta$\chi$ \chi$\delta$ \delta$\epsilon$ \eps ...

  5. InnoDB记录存储结构

    InnoDB是一个将数据存储到磁盘上的存储引擎.对于更新/写入的数据,先将数据从磁盘中加载到内存,更新后再将数据刷新到磁盘. 行格式 而磁盘与内存交互的数据,InnoDB采取将数据分为若干页,一页一般 ...

  6. SRGAN 学习心得

    一.理论 关于SRGAN的的论文中文翻译网上一大堆,可以直接读网络模型(大概了解),关于loss的理解,然后就能跑代码 loss  = mse + 对抗损失 + 感知损失   : https://bl ...

  7. LeetCode 179. 最大数(Largest Number)

    题目描述 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数. 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330 说明: ...

  8. For 循环 kotlin(10)

    For 循环 for 循环可以对任何提供迭代器(iterator) 的对象进行遍历,语法如下: for (item in collection) print(item) 循环体可以是一个代码块. fo ...

  9. LC 302. Smallest Rectangle Enclosing Black Pixels【lock, hard】

    An image is represented by a binary matrix with 0 as a white pixel and 1 as a black pixel. The black ...

  10. openerp学习笔记 视图中字段只变化(on_change)联动其他字段值、选择和过滤

    1.修改产品数量时,自动计算产品销售金额.销售成本和销售利润<field name="num" on_change="on_change_product(produ ...