# Neon PostgreSQL Postgres functions, data types, query optimization, indexing strategies, version upgrades, and general Postgres usage with Neon. [Parent index](https://neon.com/docs/llms.txt) ## General - [Neon Postgres Version Support Policy](https://neon.com/docs/postgresql/postgres-version-policy.md) - [Optimize Postgres query performance](https://neon.com/docs/postgresql/query-performance.md): Learn about strategies for optimizing Postgres query performance - [Postgres guides](https://neon.com/docs/postgresql/introduction.md) - [Postgres indexes](https://neon.com/docs/postgresql/index-types.md): Optimize query performance with indexes in Postgres - [Postgres query reference](https://neon.com/docs/postgresql/query-reference.md): Find examples of commonly-used Postgres queries for basic to advanced operations - [Upgrading your Postgres version](https://neon.com/docs/postgresql/postgres-upgrade.md): Learn how upgrade to a new major Postgres version in Neon ## Functions - [Postgres abs() function](https://neon.com/docs/functions/math-abs.md): Calculate the absolute value of a number - [Postgres age() function](https://neon.com/docs/functions/age.md): Calculate the difference between timestamps or between a timestamp and the current date/time - [Postgres array_agg() function](https://neon.com/docs/functions/array_agg.md): Aggregate values into an array - [Postgres array_length() function](https://neon.com/docs/functions/array_length.md): Determine the length of an array - [Postgres array_to_json() function](https://neon.com/docs/functions/array_to_json.md): Converts an SQL array to a JSON array - [Postgres avg() function](https://neon.com/docs/functions/avg.md): Calculate the average value of a set of numbers - [Postgres concat() function](https://neon.com/docs/functions/concat.md): Concatenate strings in Postgres with the concat() function - [Postgres COUNT() function](https://neon.com/docs/functions/count.md): Count rows or non-null values in a result set - [Postgres current_timestamp() function](https://neon.com/docs/functions/current_timestamp.md): Get the current date and time - [Postgres date_trunc() function](https://neon.com/docs/functions/date_trunc.md): Truncate date and time values to a specified precision - [Postgres dense_rank() function](https://neon.com/docs/functions/dense_rank.md): Returns the rank of the current row without gaps - [Postgres extract() function](https://neon.com/docs/functions/extract.md): Extract date and time components from timestamps and intervals - [Postgres functions](https://neon.com/docs/functions/introduction.md) - [Postgres json_agg() function](https://neon.com/docs/functions/json_agg.md): Aggregate values into a JSON array - [Postgres json_array_elements() function](https://neon.com/docs/functions/json_array_elements.md): Expand a JSON array into a set of rows - [Postgres json_build_object() function](https://neon.com/docs/functions/json_build_object.md): Builds a JSON object out of a variadic argument list - [Postgres json_each() function](https://neon.com/docs/functions/json_each.md): Expands JSON into a record per key-value pair - [Postgres JSON_EXISTS() Function](https://neon.com/docs/functions/json_exists.md): Check for Values in JSON Data Using SQL/JSON Path Expressions - [Postgres json_extract_path_text() Function](https://neon.com/docs/functions/json_extract_path_text.md): Extracts a JSON sub-object at the specified path as text - [Postgres json_extract_path() function](https://neon.com/docs/functions/json_extract_path.md): Extracts a JSON sub-object at the specified path - [Postgres json_object() function](https://neon.com/docs/functions/json_object.md): Creates a JSON object from key-value pairs - [Postgres json_populate_record() function](https://neon.com/docs/functions/json_populate_record.md): Casts a JSON object to a record - [Postgres JSON_QUERY() Function](https://neon.com/docs/functions/json_query.md): Extract and Transform JSON Values with SQL/JSON Path Expressions - [Postgres json_scalar() Function](https://neon.com/docs/functions/json_scalar.md): Convert SQL Scalar Values to JSON Scalar Values - [Postgres json_serialize() Function](https://neon.com/docs/functions/json_serialize.md): Convert JSON Values to Text or Binary Format - [Postgres JSON_TABLE() function](https://neon.com/docs/functions/json_table.md): Transform JSON data into relational views - [Postgres json_to_record() function](https://neon.com/docs/functions/json_to_record.md): Converts a JSON object to a record - [Postgres JSON_VALUE() Function](https://neon.com/docs/functions/json_value.md): Extract and Convert JSON Scalar Values - [Postgres json() Function](https://neon.com/docs/functions/json.md): Convert Text and Binary Data to JSON Values - [Postgres jsonb_array_elements() function](https://neon.com/docs/functions/jsonb_array_elements.md): Expands a JSONB array into a set of rows - [Postgres jsonb_each() function](https://neon.com/docs/functions/jsonb_each.md): Expands JSONB into a record per key-value pair - [Postgres jsonb_extract_path_text() Function](https://neon.com/docs/functions/jsonb_extract_path_text.md): Extracts a JSON sub-object at the specified path as text - [Postgres jsonb_extract_path() function](https://neon.com/docs/functions/jsonb_extract_path.md): Extracts a JSONB sub-object at the specified path - [Postgres jsonb_object() function](https://neon.com/docs/functions/jsonb_object.md): Creates a JSONB object from key-value pairs - [Postgres jsonb_populate_record() function](https://neon.com/docs/functions/jsonb_populate_record.md): Casts a JSONB object to a record - [Postgres jsonb_to_record() function](https://neon.com/docs/functions/jsonb_to_record.md): Convert a JSONB object to a record - [Postgres lag() window function](https://neon.com/docs/functions/window-lag.md): Use lag() to access values from previous rows in a result set - [Postgres lead() window function](https://neon.com/docs/functions/window-lead.md): Use lead() to access values from subsequent rows in a result set - [Postgres lower() function](https://neon.com/docs/functions/lower.md): Convert strings to lowercase - [Postgres max() function](https://neon.com/docs/functions/max.md): Find the maximum value in a set of values - [Postgres now() function](https://neon.com/docs/functions/now.md): Get the current date and time - [Postgres random() function](https://neon.com/docs/functions/math-random.md): Generate random values between 0 and 1 - [Postgres rank() window function](https://neon.com/docs/functions/window-rank.md): Use rank() to assign ranks to rows within a result set - [Postgres regexp_match() function](https://neon.com/docs/functions/regexp_match.md): Extract substrings matching a regular expression pattern - [Postgres regexp_replace() function](https://neon.com/docs/functions/regexp_replace.md): Replace substrings matching a regular expression pattern - [Postgres round() function](https://neon.com/docs/functions/math-round.md): Round numbers to a specified precision - [Postgres substring() function](https://neon.com/docs/functions/substring.md): Extract a substring from a string - [Postgres sum() function](https://neon.com/docs/functions/sum.md): Calculate the sum of a set of values - [Postgres trim() function](https://neon.com/docs/functions/trim.md): Remove leading and trailing characters from a string ## Data Types - [Postgres Array data type](https://neon.com/docs/data-types/array.md): Manage collections of elements using arrays - [Postgres Boolean data type](https://neon.com/docs/data-types/boolean.md): Represent truth values in Postgres - [Postgres Character data types](https://neon.com/docs/data-types/character.md): Work with text data in Postgres - [Postgres data types](https://neon.com/docs/data-types/introduction.md) - [Postgres Date and Time data types](https://neon.com/docs/data-types/date-and-time.md): Work with date and time values in Postgres - [Postgres Decimal data types](https://neon.com/docs/data-types/decimal.md): Work with exact numerical values in Postgres - [Postgres Floating-point data types](https://neon.com/docs/data-types/floating-point.md): Work with float values in Postgres - [Postgres Integer data types](https://neon.com/docs/data-types/integer.md): Work with integers in Postgres - [Postgres JSON data types](https://neon.com/docs/data-types/json.md): Model JSON data in Postgres - [Postgres tsvector data type](https://neon.com/docs/data-types/tsvector.md): Optimize full-text search in Postgres with the tsvector data type - [Postgres UUID data type](https://neon.com/docs/data-types/uuid.md): Work with UUIDs in Postgres