๐Ÿค–robot.villas
PostsTagsStatsStatusAbout

ยฉ 2025 - 2026 Nat Welch. All rights reserved.

โ† All bots

pganalyze Blog

@pganalyze_blog@robot.villas

Monitoring Postgres and tuning query performance

Source: https://pganalyze.com/feed.xml

Homepage: https://pganalyze.com/blog

Follow from your server

Enter the server your account is on. You'll finish following there.

or
Or search your app for@pganalyze_blog@robot.villas

Don't have an account? Find a server at joinmastodon.org

Posts
50
Followers
0
Following
0

Posts

  • Postgres Monitoring for SQL Server DBAs: Statistics and Logs 101 #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445218

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445218

    Don't have an account? Find a server at joinmastodon.org

    Sep 17, 2026
  • Postgres in Production Special Series: How to Query pg_stat_statements to Find Slow and Expensive Postgres Queries (Part 7) #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445226

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445226

    Don't have an account? Find a server at joinmastodon.org

    Sep 16, 2026
  • Postgres in Production Special Series: Diagnosing High Cardinality Workloads in pg_stat_statements (Part 6) #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445236

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445236

    Don't have an account? Find a server at joinmastodon.org

    Aug 13, 2026
  • Postgres in Production Special Series: Configuring pg_stat_statements to Reduce Deallocations (Part 5) #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445245

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445245

    Don't have an account? Find a server at joinmastodon.org

    Jun 30, 2026
  • Postgres in Production Special Series: How pg_stat_statements Decides What to Keep (Part 4) #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445254

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445254

    Don't have an account? Find a server at joinmastodon.org

    Jun 2, 2026
  • Postgres in Production Special Series: Where Your Query Text Actually Lives (Part 3) #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445261

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445261

    Don't have an account? Find a server at joinmastodon.org

    May 19, 2026
  • Postgres in Production Special Series: What Makes a Statement Unique (Part 2) #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445272

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445272

    Don't have an account? Find a server at joinmastodon.org

    May 6, 2026
  • Postgres in Production Special Series: What pg_stat_statements Is and Isn't (Part 1) #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445281

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445281

    Don't have an account? Find a server at joinmastodon.org

    Apr 13, 2026
  • Waiting for Postgres 19: Reduced timing overhead for EXPLAIN ANALYZE with RDTSC #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445289

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445289

    Don't have an account? Find a server at joinmastodon.org

    Apr 11, 2026
  • The Dilemma of the 'AI DBA' #Postgres #Database #AI

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445297

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445297

    Don't have an account? Find a server at joinmastodon.org

    Mar 11, 2026
  • How we used pg_query to rewrite queries to fix bad query plans #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445305

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445305

    Don't have an account? Find a server at joinmastodon.org

    Oct 6, 2025
  • Waiting for Postgres 18: Accelerating Disk Reads with Asynchronous I/O #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445313

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445313

    Don't have an account? Find a server at joinmastodon.org

    May 7, 2025
  • Postgres vs. SQL Server: B-Tree Index Differences & the Benefit of Deduplication #Postgres #Database #SQL

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445322

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445322

    Don't have an account? Find a server at joinmastodon.org

    Apr 3, 2025
  • Comparing EXPLAIN Plans is hard (and how pganalyze does it) #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445329

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445329

    Don't have an account? Find a server at joinmastodon.org

    Feb 6, 2025
  • Replacing Oracle Hints: Best Practices with pg_hint_plan on PostgreSQL #Postgres #Database #SQL

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445340

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445340

    Don't have an account? Find a server at joinmastodon.org

    Feb 5, 2025
  • Introducing pg_query for Postgres 16 - Parsing SQL/JSON, Windows support, PL/pgSQL parse mode & more #Postgres #Database #SQL

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445351

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445351

    Don't have an account? Find a server at joinmastodon.org

    Jan 11, 2024
  • Postgres 16: Cumulative I/O statistics with pg_stat_io #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445359

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445359

    Don't have an account? Find a server at joinmastodon.org

    Feb 14, 2023
  • Lock monitoring in Postgres: Find blocking queries in a lock tree with pganalyze #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445370

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445370

    Don't have an account? Find a server at joinmastodon.org

    Dec 1, 2022
  • How Postgres Chooses Which Index To Use For A Query #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445376

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445376

    Don't have an account? Find a server at joinmastodon.org

    Apr 1, 2022
  • Postgres in 2021: An Observer's Year In Review #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445384

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445384

    Don't have an account? Find a server at joinmastodon.org

    Jan 7, 2022
  • The Fastest Way To Load Data Into Postgres With Ruby on Rails #Postgres #RubyOnRails #Database

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445394

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445394

    Don't have an account? Find a server at joinmastodon.org

    Dec 14, 2021
  • Understanding Postgres GIN Indexes: The Good and the Bad #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445401

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445401

    Don't have an account? Find a server at joinmastodon.org

    Dec 2, 2021
  • Postgres Views in Django #Postgres #Django #Database

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445410

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445410

    Don't have an account? Find a server at joinmastodon.org

    Nov 16, 2021
  • How we deconstructed the Postgres planner to find indexing opportunities #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445418

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445418

    Don't have an account? Find a server at joinmastodon.org

    Nov 2, 2021
  • A better way to index your Postgres database: pganalyze Index Advisor #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445426

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445426

    Don't have an account? Find a server at joinmastodon.org

    Sep 23, 2021
  • Using Postgres CREATE INDEX: Understanding operator classes, index types & more #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445435

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445435

    Don't have an account? Find a server at joinmastodon.org

    Aug 12, 2021
  • Efficient Pagination: PostgreSQL and Django #Postgres #Database #Django

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445444

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445444

    Don't have an account? Find a server at joinmastodon.org

    Jul 20, 2021
  • PostgreSQL Partitioning in Django #Postgres #Database #Django

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445453

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445453

    Don't have an account? Find a server at joinmastodon.org

    Jul 8, 2021
  • GeoDjango and PostGIS in Django #Postgres #Django #GeoDjango

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445462

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445462

    Don't have an account? Find a server at joinmastodon.org

    Jun 24, 2021
  • Using Postgres Row-Level Security in Ruby on Rails #Postgres #Database #RubyOnRails

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445470

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445470

    Don't have an account? Find a server at joinmastodon.org

    May 25, 2021
  • A look at Postgres 14: Performance and Monitoring Improvements #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445478

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445478

    Don't have an account? Find a server at joinmastodon.org

    May 21, 2021
  • Creating Custom Postgres Data Types in Rails #Postgres #Database #RubyOnRails

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445487

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445487

    Don't have an account? Find a server at joinmastodon.org

    Apr 22, 2021
  • Introducing pg_query 2.0: The easiest way to parse Postgres queries #Postgres #Database #OpenSource

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445496

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445496

    Don't have an account? Find a server at joinmastodon.org

    Mar 18, 2021
  • Efficient Postgres Full Text Search in Django #Postgres #Database #Search

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445505

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445505

    Don't have an account? Find a server at joinmastodon.org

    Feb 24, 2021
  • Creating Custom Postgres Data Types in Django #Postgres #Django #Database

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445514

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445514

    Don't have an account? Find a server at joinmastodon.org

    Dec 15, 2020
  • PostGIS vs. Geocoder in Rails #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445523

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445523

    Don't have an account? Find a server at joinmastodon.org

    Oct 1, 2020
  • Lessons Learned from Running Postgres 13: Better Performance, Monitoring & More #Postgres #Database #Performance

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445531

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445531

    Don't have an account? Find a server at joinmastodon.org

    Sep 21, 2020
  • Using Postgres Row-Level Security in Python and Django #Postgres #Database #Security

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445539

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445539

    Don't have an account? Find a server at joinmastodon.org

    Aug 13, 2020
  • Postgres JSONB Fields in Django #Postgres #Django #Database

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445548

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445548

    Don't have an account? Find a server at joinmastodon.org

    Jul 30, 2020
  • Building SVG Components in React #Postgres #React #SVG

    Boost from your server

    Enter the server your account is on. The post opens there so you can boost it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445557

    Don't have an account? Find a server at joinmastodon.org

    Favorite from your server

    Enter the server your account is on. The post opens there so you can favorite it.

    or
    Or paste this post's address into your app's search:https://robot.villas/users/pganalyze_blog/posts/22445557

    Don't have an account? Find a server at joinmastodon.org

    Jul 9, 2020
Older ยป