Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

274
Visualizações
¿Motor de sincronización sin zona horaria o no en PostgreSQL?

Primero, he leído mucho sobre los tipos de fecha en Postgres usando la zona horaria o no. Parece que administrar las fechas (marcas de tiempo) con la zona horaria es lo mejor que se puede hacer en el 99% de los casos.

Actualmente he creado un motor de sincronización utilizando una aplicación Rails configurada en hora UTC de forma predeterminada (muy importante) y fechas de gestión de MariaDB (por lo que las fechas UTC están escritas en la base de datos pero sin ver nada excepto la fecha: 2017-04-19 17:45 :09 ). Los dispositivos que se sincronizan con el motor del servidor también usan una base de datos SQLite local con fechas en UTC. Entonces, para el mismo documento, puedo ver la misma fecha para un campo created_at en el campo SQLite y en el campo MariaDB. Está funcionando bien.

Tenga en cuenta que los usuarios nunca tienen que establecer una zona horaria personalizada en la aplicación del servidor y en las aplicaciones del dispositivo. Quiero todo UTC.

Como planeo migrar a PostgreSQL por muchas razones, estoy bastante seguro de que también necesito usar Timestamp sin zona horaria, pero tengo algunas dudas después de todas las lecturas.

¿Cuáles son sus sugerencias sobre este caso de uso?

EDITAR :

Así que hice 3 pruebas usando pgloader :

Test1 : MariaDB => PostgreSQL usando la zona horaria predeterminada de la computadora

ingrese la descripción de la imagen aquí

Las fechas son las mismas pero como pueden ver, a veces hay +01, a veces +02 ???

Test2 : MariaDB => PostgreSQL usando la zona horaria después de configurar la zona horaria en UTC en Postgres

ingrese la descripción de la imagen aquí

Aquí hay +00, lógico para UTC, pero cambiaron mis fechas.

Test3 : MariaDB => PostgreSQL usando la marca de tiempo SIN zona horaria

ingrese la descripción de la imagen aquí

Todo lo mismo allí.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

"Con zona horaria" simplemente le dice a postgres que convierta la hora local a UTC antes de almacenar la marca de tiempo, y que vuelva a convertir a la hora local al realizar la consulta. Los datos subyacentes se almacenan en UTC y no se almacena información de zona horaria en los datos reales, es simplemente un indicador que usa la base de datos para determinar cómo convertir los datos para uso humano.

Si la conexión de su cliente está configurando la zona horaria de PG en UTC en la conexión DB, prácticamente no habrá diferencia. La sabiduría convencional dice que siempre use marcas de tiempo con zona horaria, ya que hará que las consultas en otros sistemas (cliente postgresql) sean mucho más flexibles y fáciles de usar en el futuro.

over 4 years ago · Santiago Trujillo Relatório

0

intente con uno de estos en su archivo de configuración

 SET timezone= 'UTC' SET client_timezone TO '+00:00'

mi configuración completa fue:

 LOAD DATABASE FROM mysql://usr@localhost/kk INTO postgresql://usr:pwd@localhost/kk WITH include drop, create tables, create indexes, reset sequences, workers = 8, concurrency = 1, multiple readers per thread, rows per range = 50000 SET PostgreSQL PARAMETERS maintenance_work_mem to '512MB', work_mem to '64MB', timezone to 'UTC' SET MySQL PARAMETERS net_read_timeout = '220', net_write_timeout = '220' SET timezone= 'UTC' SET client_timezone TO '+00:00' ALTER SCHEMA 'kk' RENAME TO 'public' ;
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda