monolayer / schema / timestamp
Function: timestamp() 
timestamp(
precision?):PgTimestamp
Column that stores both date and time without time zone with an optional precision.
Parameters 
| Parameter | Type | Description | 
|---|---|---|
precision? | DateTimePrecision | Number of fractional digits retained in the seconds field. The allowed range is from 0 to 6. | 
Returns 
Remarks 
Without precision specified, there is no explicit bound on precision. It can store date / times between 4713 BC and 294276 AD.
The JavaScript Date implementation can represent only a maximum of September 13, 275760 AD. If you need to read/store dates after this maximum, you'll have to implement a custom type serializer and parser with node-pg-types.
Kysely database schema type definition
{
  readonly __select__: Date | null;
  readonly __insert__: Date | string | null | undefined;
  readonly __update__: Date | string | null;
};Nullability and optionality will change according to the column's constraints, generated values, and default data values.
Zod Schema
Types:
{
  input?:  Date | string | null | undefined;
  output?: Date | null | undefined;
}Nullability and optionality will change according to the column's constraints, generated values, and default data values.
Validations:
- Explicit 
undefinedvalues are rejected. - Input value must be 
Date,string, ornull. - Non-null values must be: 
- Coercible to a 
Date. - Date must be 4713 BC or later.
 
 - Coercible to a 
 
Example 
import { schema, table, timestamp } from "monolayer/pg";
import { zodSchema } from "monolayer/zod";
const dbSchema = schema({
  tables: {
    example: table({
      columns: {
        createdAt: timestamp(),
      },
    }),
  },
});
// Kysely database schema type
type DB = typeof dbSchema.infer;
// Zod Schema
const schema = zodSchema(database.tables.example);See 
timestamp without time zone (PostgreSQL Docs)