PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

PostgreSQL membuang dan memulihkan di zona waktu yang berbeda

Postgres tipe data timstamptz ( =timestamp with time zone ) menyimpan nilai sebagai stempel waktu UTC secara internal (nilai integer menghitung mikrodetik sejak tahun 2000), yang tidak bergantung pada zona waktu nilai tersebut ditampilkan untuk. Memang tidak menyimpan informasi zona waktu seperti yang mungkin dipikirkan beberapa orang, salah menilai namanya. Anda dapat membuang dan memulihkan sebanyak yang Anda inginkan.

Apa yang Anda lihat di klien Anda bergantung pada pengaturan zona waktu sesi.

Jalankan (dalam sesi yang sama untuk menghindari artefak):

SHOW timezone;

Jika Anda melihat localtime kemudian Postgres menggunakan pengaturan default OS server Anda.

Tetapkan zona waktu yang berbeda (dalam sesi Anda dengan SET timezone = ...; , untuk pengguna Anda atau secara global dalam file konfigurasi) untuk melihat stempel waktu Anda diformat secara berbeda. Ketahuilah bahwa pengaturan zona waktu di file dump Anda tidak memiliki efek apa pun dalam kasus ini, hanya pengaturan sesi Anda saat ini.

Penjelasan terperinci dalam jawaban terkait ini:

Tentang berbagai cara untuk mengatur variabel lingkungan:




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menulis kueri sql parameter untuk mencegah injeksi SQL?

  2. Saya mencoba menginstal psycopg2 ke Mac OS 10.6.3; ia mengklaim tidak dapat menemukan stdarg.h tetapi saya dapat melihatnya di sana; apa yang harus saya lakukan?

  3. Memigrasikan Database PostgreSQL Dari On-Prem ke Cloud Menggunakan AWS RDS

  4. Masukkan ke dalam postgres SQL

  5. Encoding yang salah antara Spring dan PostgreSQL