如何通过Python将当前时间戳插入到Postgres中
PostgreSQL支持两种时间戳处理数据的类型:timestamp和timestamptz。时间戳数据类型允许我们创建一个不基于时区的时间戳。类似地,timestamptz可以帮助我们创建一个带有时区的时间戳。可以使用timestamp数据类型存储日期和时间。然而,它不包括时区信息。这意味着如果更改数据库服务器的时区,存储在数据库中的时间戳值不会立即更新,在这种情况下,使用数据类型timestamptz。
示例:
下面的代码示例说明了数据类型。使用psycopg2.connect()方法连接数据库。可以通过connection.cursor()方法创建一个游标。
connection.cursor()方法。execute()方法执行指定的SQL命令。创建了一个名为timestamp_data的表。将格式化为字符串的时间戳添加到创建的表中。然后从表中检索值。表中包括时间戳时区列和时区信息。
# first, we will import the required library
import psycopg2 as P2
from datetime import datetime as DT
from datetime import timezone as TZ
# Here, we will establish the connections
conn1 = P2.connect(
database = "TIMESTAMPDATA", user = 'postgres', password = 'pass',
host = '127.0.0.1', port = '5432'
)
conn1.autocommit = True
# Now, we will create a cursor
cursor1 = conn1.cursor()
# Now, we will create table
cursor1.execute('''CREATE TABLE timestamp_data
(timestamp TIMESTAMP, timestamp_timezone TIMESTAMPTZ);''')
# # Now, we will insert timestamp values
cursor1.execute('''INSERT INTO timestamp_data VALUES
('2021-05-20 12:07:18-09','2021-05-20 12:07:18-09');''')
# # Now, we will fetch the data
sql_1 = '''select * from timestamp_data;'''
cursor1.execute(sql_1)
for k in cursor1.fetchall():
print(k)
conn1.commit()
# Here, we will close the connection
conn1.close()
输出: