1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1" /> 6 <title>Psycopg - PostgreSQL adapter for Python</title> 7 <meta 8 name="description" 9 content="Psycopg is the most popular PostgreSQL adapter for the Python programming language." 10 /> 11 <link rel="icon" type="image/png" href="/img/logo.png" /> 12 <link rel="apple-touch-icon" href="/img/apple-touch-icon.png" /> 13 <link rel="manifest" href="/manifest.json" /> 14 <link rel="preconnect" href="https://fonts.googleapis.com" /> 15 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 16 <link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;800;900&display=swap" rel="stylesheet" /> 17 <link rel="stylesheet" href="/css/style.css" /> 18 <link rel="stylesheet" href="/css/syntax.css?h=3b162580"> 19 </head> 20 <body> 21 <!-- ââ Navigation âââââââââââââââââââââââââââââââââââââââââââââââ --> 22 <header class="site-header"> 23 <nav class="nav"> 24 <a href="/" class="nav__logo" aria-label="psycopg home"> 25 <img src="/img/logo.png" alt="" width="48" height="48" /> 26 <span>psycopg</span> 27 </a> 28 <button class="nav__toggle" aria-label="Toggle menu" aria-expanded="false"> 29 <span></span><span></span><span></span> 30 </button> 31 <ul class="nav__links" role="list"> 32 <li><a href="/">home</a></li> 33 <li><a href="/#sponsors">sponsors</a></li> 34 <li><a href="/#features">features</a></li> 35 <li><a href="/#development">development</a></li> 36 <li><a href="/#articles">articles</a></li> 37 <li><a href="/#maintainers">maintainers</a></li> 38 <li><a href="/#contact">contact</a></li> 39 </ul> 40 <div class="nav__mirror" aria-hidden="true"> 41 <span class="nav__logo"> 42 <img src="/img/logo.png" alt="" width="48" height="48" /> 43 <span>psycopg</span> 44 </span> 45 </div> 46 </nav> 47 </header> 48 49 <div class=""> 50 <main class="page"> 51<div class="articles-page"> 52 <h1 class="articles-page__heading"><span class="text-accent">latest</span> articles</h1> 53 <div class="articles-page__list" id="blog-articles"> 54 55 <article class="post-row"> 56 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/psycopg3/">psycopg3</a><a class="post-tag" href="/articles/tag/development/">development</a><a class="post-tag" href="/articles/tag/recipe/">recipe</a></div> 57 <h2 class="post-row__title"> 58 <a href="/articles/2026/08/12/server-side-cursors/">Row-by-row streaming with server-side cursors</a> 59 </h2> 60 <div class="post-row__byline"> 61 <span class="post-row__author">Daniele Varrazzo</span> 62 <time class="post-row__date" datetime="2026-08-12">12 Aug 2026</time> 63 </div> 64 </article> 65 66 <article class="post-row"> 67 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/psycopg3/">psycopg3</a><a class="post-tag" href="/articles/tag/development/">development</a><a class="post-tag" href="/articles/tag/recipe/">recipe</a></div> 68 <h2 class="post-row__title"> 69 <a href="/articles/2026/06/24/pydantic-fastapi/">Integrating Psycopg with FastAPI and Pydantic</a> 70 </h2> 71 <div class="post-row__byline"> 72 <span class="post-row__author">Daniele Varrazzo</span> 73 <time class="post-row__date" datetime="2026-06-24">24 Jun 2026</time> 74 </div> 75 </article> 76 77 <article class="post-row"> 78 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 79 <h2 class="post-row__title"> 80 <a href="/articles/2025/12/01/psycopg-33-released/">Psycopg 3.3 released</a> 81 </h2> 82 <div class="post-row__byline"> 83 <span class="post-row__author">Daniele Varrazzo</span> 84 <time class="post-row__date" datetime="2025-12-01">01 Dec 2025</time> 85 </div> 86 </article> 87 88 <article class="post-row"> 89 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/psycopg3/">psycopg3</a><a class="post-tag" href="/articles/tag/development/">development</a></div> 90 <h2 class="post-row__title"> 91 <a href="/articles/2024/09/23/async-to-sync/">Automatic async to sync code conversion</a> 92 </h2> 93 <div class="post-row__byline">
94 <span class="post-row__author">Daniele Varrazzo</span> 95 <time class="post-row__date" datetime="2024-09-23">23 Sep 2024</time> 96 </div> 97 </article> 98 99 <article class="post-row"> 100 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 101 <h2 class="post-row__title"> 102 <a href="/articles/2024/06/30/psycopg-32-released/">Psycopg 3.2 released</a> 103 </h2> 104 <div class="post-row__byline"> 105 <span class="post-row__author">Daniele Varrazzo</span> 106 <time class="post-row__date" datetime="2024-06-30">30 Jun 2024</time> 107 </div> 108 </article> 109 110 <article class="post-row"> 111 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/psycopg3/">psycopg3</a><a class="post-tag" href="/articles/tag/development/">development</a></div> 112 <h2 class="post-row__title"> 113 <a href="/articles/2024/05/08/psycopg3-pipeline-mode/">Pipeline mode in Psycopg</a> 114 </h2> 115 <div class="post-row__byline"> 116 <span class="post-row__author">Denis Laxalde</span> 117 <time class="post-row__date" datetime="2024-05-08">08 May 2024</time> 118 </div> 119 </article> 120 121 <article class="post-row"> 122 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 123 <h2 class="post-row__title"> 124 <a href="/articles/2022/08/30/psycopg-31-released/">Psycopg 3.1 released</a> 125 </h2> 126 <div class="post-row__byline"> 127 <span class="post-row__author">Daniele Varrazzo</span> 128 <time class="post-row__date" datetime="2022-08-30">30 Aug 2022</time> 129 </div> 130 </article> 131 132 <article class="post-row"> 133 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 134 <h2 class="post-row__title"> 135 <a href="/articles/2021/10/13/psycopg-30-released/">Psycopg 3.0 released</a> 136 </h2> 137 <div class="post-row__byline"> 138 <span class="post-row__author">Daniele Varrazzo</span> 139 <time class="post-row__date" datetime="2021-10-13">13 Oct 2021</time> 140 </div> 141 </article> 142 143 <article class="post-row"> 144 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 145 <h2 class="post-row__title"> 146 <a href="/articles/2021/08/30/psycopg-30-beta1-released/">Psycopg 3.0 beta 1 released!</a> 147 </h2> 148 <div class="post-row__byline"> 149 <span class="post-row__author">Daniele Varrazzo</span> 150 <time class="post-row__date" datetime="2021-08-30">30 Aug 2021</time> 151 </div> 152 </article> 153 154 <article class="post-row"> 155 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/psycopg3/">psycopg3</a><a class="post-tag" href="/articles/tag/development/">development</a><a class="post-tag" href="/articles/tag/recipe/">recipe</a></div> 156 <h2 class="post-row__title"> 157 <a href="/articles/2021/08/02/psycopg3-django-driver/">Building a Django driver for Psycopg 3</a> 158 </h2> 159 <div class="post-row__byline"> 160 <span class="post-row__author">Daniele Varrazzo</span> 161 <time class="post-row__date" datetime="2021-08-02">02 Aug 2021</time> 162 </div> 163 </article> 164 165 <article class="post-row"> 166 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 167 <h2 class="post-row__title"> 168 <a href="/articles/2021/06/16/psycopg-29-released/">Psycopg 2.9 released</a> 169 </h2> 170 <div class="post-row__byline"> 171 <span class="post-row__author">Daniele Varrazzo</span> 172 <time class="post-row__date" datetime="2021-06-16">16 Jun 2021</time> 173 </div> 174 </article> 175 176 <article class="post-row"> 177 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/psycopg3/">psycopg3</a><a class="post-tag" href="/articles/tag/development/">development</a></div> 178 <h2 class="post-row__title"> 179 <a href="/articles/2021/01/17/pool-design/">Designing a connection pool for psycopg3</a> 180 </h2> 181 <div class="post-row__byline">
182 <span class="post-row__author">Daniele Varrazzo</span> 183 <time class="post-row__date" datetime="2021-01-17">17 Jan 2021</time> 184 </div> 185 </article> 186 187 <article class="post-row"> 188 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/psycopg3/">psycopg3</a><a class="post-tag" href="/articles/tag/development/">development</a><a class="post-tag" href="/articles/tag/news/">news</a></div> 189 <h2 class="post-row__title"> 190 <a href="/articles/2020/11/24/psycopg3-adaptation/">The psycopg3 adaptation system</a> 191 </h2> 192 <div class="post-row__byline"> 193 <span class="post-row__author">Daniele Varrazzo</span> 194 <time class="post-row__date" datetime="2020-11-24">24 Nov 2020</time> 195 </div> 196 </article> 197 198 <article class="post-row"> 199 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/psycopg3/">psycopg3</a><a class="post-tag" href="/articles/tag/development/">development</a><a class="post-tag" href="/articles/tag/news/">news</a></div> 200 <h2 class="post-row__title"> 201 <a href="/articles/2020/11/15/psycopg3-copy/">The new COPY support in psycopg3</a> 202 </h2> 203 <div class="post-row__byline"> 204 <span class="post-row__author">Daniele Varrazzo</span> 205 <time class="post-row__date" datetime="2020-11-15">15 Nov 2020</time> 206 </div> 207 </article> 208 209 <article class="post-row"> 210 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 211 <h2 class="post-row__title"> 212 <a href="/articles/2020/09/06/psycopg-286-released/">Psycopg 2.8.6 released</a> 213 </h2> 214 <div class="post-row__byline"> 215 <span class="post-row__author">Daniele Varrazzo</span> 216 <time class="post-row__date" datetime="2020-09-06">06 Sep 2020</time> 217 </div> 218 </article> 219 220 <article class="post-row"> 221 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 222 <h2 class="post-row__title"> 223 <a href="/articles/2020/04/06/psycopg-285-released/">Psycopg 2.8.5 released</a> 224 </h2> 225 <div class="post-row__byline"> 226 <span class="post-row__author">Daniele Varrazzo</span> 227 <time class="post-row__date" datetime="2020-04-06">06 Apr 2020</time> 228 </div> 229 </article> 230 231 <article class="post-row"> 232 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 233 <h2 class="post-row__title"> 234 <a href="/articles/2019/10/20/psycopg-284-released/">Psycopg 2.8.4 released</a> 235 </h2> 236 <div class="post-row__byline"> 237 <span class="post-row__author">Daniele Varrazzo</span> 238 <time class="post-row__date" datetime="2019-10-20">20 Oct 2019</time> 239 </div> 240 </article> 241 242 <article class="post-row"> 243 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 244 <h2 class="post-row__title"> 245 <a href="/articles/2019/06/14/psycopg-283-released/">Psycopg 2.8.3 released</a> 246 </h2> 247 <div class="post-row__byline"> 248 <span class="post-row__author">Daniele Varrazzo</span> 249 <time class="post-row__date" datetime="2019-06-14">14 Jun 2019</time> 250 </div> 251 </article> 252 253 <article class="post-row"> 254 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 255 <h2 class="post-row__title"> 256 <a href="/articles/2019/04/14/psycopg-281-282-released/">Psycopg 2.8.1, 2.8.2 released</a> 257 </h2> 258 <div class="post-row__byline"> 259 <span class="post-row__author">Daniele Varrazzo</span> 260 <time class="post-row__date" datetime="2019-04-14">14 Apr 2019</time> 261 </div> 262 </article> 263 264 <article class="post-row"> 265 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 266 <h2 class="post-row__title"> 267 <a href="/articles/2019/04/04/psycopg-28-released/">Psycopg 2.8 released</a> 268 </h2> 269 <div class="post-row__byline">
270 <span class="post-row__author">Daniele Varrazzo</span> 271 <time class="post-row__date" datetime="2019-04-04">04 Apr 2019</time> 272 </div> 273 </article> 274 275 <article class="post-row"> 276 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 277 <h2 class="post-row__title"> 278 <a href="/articles/2018/06/17/psycopg-275-released/">Psycopg 2.7.5 released</a> 279 </h2> 280 <div class="post-row__byline"> 281 <span class="post-row__author">Daniele Varrazzo</span> 282 <time class="post-row__date" datetime="2018-06-17">17 Jun 2018</time> 283 </div> 284 </article> 285 286 <article class="post-row"> 287 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 288 <h2 class="post-row__title"> 289 <a href="/articles/2018/02/08/psycopg-274-released/">Psycopg 2.7.4 released</a> 290 </h2> 291 <div class="post-row__byline"> 292 <span class="post-row__author">Daniele Varrazzo</span> 293 <time class="post-row__date" datetime="2018-02-08">08 Feb 2018</time> 294 </div> 295 </article> 296 297 <article class="post-row"> 298 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 299 <h2 class="post-row__title"> 300 <a href="/articles/2017/10/24/psycopg-2732-released/">Psycopg 2.7.3.2 released</a> 301 </h2> 302 <div class="post-row__byline"> 303 <span class="post-row__author">Daniele Varrazzo</span> 304 <time class="post-row__date" datetime="2017-10-24">24 Oct 2017</time> 305 </div> 306 </article> 307 308 <article class="post-row"> 309 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 310 <h2 class="post-row__title"> 311 <a href="/articles/2017/08/26/psycopg-2731-released/">Psycopg 2.7.3.1 released</a> 312 </h2> 313 <div class="post-row__byline"> 314 <span class="post-row__author">Daniele Varrazzo</span> 315 <time class="post-row__date" datetime="2017-08-26">26 Aug 2017</time> 316 </div> 317 </article> 318 319 <article class="post-row"> 320 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 321 <h2 class="post-row__title"> 322 <a href="/articles/2017/07/24/psycopg-273-released/">Psycopg 2.7.3 released</a> 323 </h2> 324 <div class="post-row__byline"> 325 <span class="post-row__author">Daniele Varrazzo</span> 326 <time class="post-row__date" datetime="2017-07-24">24 Jul 2017</time> 327 </div> 328 </article> 329 330 <article class="post-row"> 331 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 332 <h2 class="post-row__title"> 333 <a href="/articles/2017/07/22/psycopg-272-released/">Psycopg 2.7.2 released</a> 334 </h2> 335 <div class="post-row__byline"> 336 <span class="post-row__author">Daniele Varrazzo</span> 337 <time class="post-row__date" datetime="2017-07-22">22 Jul 2017</time> 338 </div> 339 </article> 340 341 <article class="post-row"> 342 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 343 <h2 class="post-row__title"> 344 <a href="/articles/2017/03/13/psycopg-271-released/">Psycopg 2.7.1 released</a> 345 </h2> 346 <div class="post-row__byline"> 347 <span class="post-row__author">Daniele Varrazzo</span> 348 <time class="post-row__date" datetime="2017-03-13">13 Mar 2017</time> 349 </div> 350 </article> 351 352 <article class="post-row"> 353 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 354 <h2 class="post-row__title"> 355 <a href="/articles/2017/03/01/psycopg-27-released/">Psycopg 2.7 released</a> 356 </h2> 357 <div class="post-row__byline">
358 <span class="post-row__author">Daniele Varrazzo</span> 359 <time class="post-row__date" datetime="2017-03-01">01 Mar 2017</time> 360 </div> 361 </article> 362 363 <article class="post-row"> 364 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 365 <h2 class="post-row__title"> 366 <a href="/articles/2017/02/17/psycopg-27-beta-2-released/">Psycopg 2.7 beta 2 released</a> 367 </h2> 368 <div class="post-row__byline"> 369 <span class="post-row__author">Daniele Varrazzo</span> 370 <time class="post-row__date" datetime="2017-02-17">17 Feb 2017</time> 371 </div> 372 </article> 373 374 <article class="post-row"> 375 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 376 <h2 class="post-row__title"> 377 <a href="/articles/2016/07/07/psycopg-262-released/">Psycopg 2.6.2 released</a> 378 </h2> 379 <div class="post-row__byline"> 380 <span class="post-row__author">Daniele Varrazzo</span> 381 <time class="post-row__date" datetime="2016-07-07">07 Jul 2016</time> 382 </div> 383 </article> 384 385 <article class="post-row"> 386 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 387 <h2 class="post-row__title"> 388 <a href="/articles/2015/06/16/psycopg-261-released/">Psycopg 2.6.1 released</a> 389 </h2> 390 <div class="post-row__byline"> 391 <span class="post-row__author">Daniele Varrazzo</span> 392 <time class="post-row__date" datetime="2015-06-16">16 Jun 2015</time> 393 </div> 394 </article> 395 396 <article class="post-row"> 397 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 398 <h2 class="post-row__title"> 399 <a href="/articles/2015/02/09/psycopg-26-and-255-released/">Psycopg 2.6 and 2.5.5 released</a> 400 </h2> 401 <div class="post-row__byline"> 402 <span class="post-row__author">Daniele Varrazzo</span> 403 <time class="post-row__date" datetime="2015-02-09">09 Feb 2015</time> 404 </div> 405 </article> 406 407 <article class="post-row"> 408 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 409 <h2 class="post-row__title"> 410 <a href="/articles/2014/08/30/psycopg-254-released/">Psycopg 2.5.4 released</a> 411 </h2> 412 <div class="post-row__byline"> 413 <span class="post-row__author">Daniele Varrazzo</span> 414 <time class="post-row__date" datetime="2014-08-30">30 Aug 2014</time> 415 </div> 416 </article> 417 418 <article class="post-row"> 419 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/recipe/">recipe</a></div> 420 <h2 class="post-row__title"> 421 <a href="/articles/2014/07/20/cancelling-postgresql-statements-python/">Cancelling PostgreSQL statements from Python</a> 422 </h2> 423 <div class="post-row__byline"> 424 <span class="post-row__author">Daniele Varrazzo</span> 425 <time class="post-row__date" datetime="2014-07-20">20 Jul 2014</time> 426 </div> 427 </article> 428 429 <article class="post-row"> 430 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 431 <h2 class="post-row__title"> 432 <a href="/articles/2014/05/13/psycopg-253-released/">Psycopg 2.5.3 Released</a> 433 </h2> 434 <div class="post-row__byline"> 435 <span class="post-row__author">Daniele Varrazzo</span> 436 <time class="post-row__date" datetime="2014-05-13">13 May 2014</time> 437 </div> 438 </article> 439 440 <article class="post-row"> 441 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 442 <h2 class="post-row__title"> 443 <a href="/articles/2014/01/07/psycopg-252-released/">Psycopg 2.5.2 released</a> 444 </h2> 445 <div class="post-row__byline">
446 <span class="post-row__author">Daniele Varrazzo</span> 447 <time class="post-row__date" datetime="2014-01-07">07 Jan 2014</time> 448 </div> 449 </article> 450 451 <article class="post-row"> 452 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 453 <h2 class="post-row__title"> 454 <a href="/articles/2013/06/23/psycopg-251-released/">Psycopg 2.5.1 released</a> 455 </h2> 456 <div class="post-row__byline"> 457 <span class="post-row__author">Daniele Varrazzo</span> 458 <time class="post-row__date" datetime="2013-06-23">23 Jun 2013</time> 459 </div> 460 </article> 461 462 <article class="post-row"> 463 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 464 <h2 class="post-row__title"> 465 <a href="/articles/2013/04/07/psycopg-25-released/">Psycopg 2.5 released</a> 466 </h2> 467 <div class="post-row__byline"> 468 <span class="post-row__author">Daniele Varrazzo</span> 469 <time class="post-row__date" datetime="2013-04-07">07 Apr 2013</time> 470 </div> 471 </article> 472 473 <article class="post-row"> 474 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 475 <h2 class="post-row__title"> 476 <a href="/articles/2012/12/12/psycopg-246-released/">Psycopg 2.4.6 released</a> 477 </h2> 478 <div class="post-row__byline"> 479 <span class="post-row__author">Daniele Varrazzo</span> 480 <time class="post-row__date" datetime="2012-12-12">12 Dec 2012</time> 481 </div> 482 </article> 483 484 <article class="post-row"> 485 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/recipe/">recipe</a></div> 486 <h2 class="post-row__title"> 487 <a href="/articles/2012/10/01/prepared-statements-psycopg/">Prepared statements in Psycopg</a> 488 </h2> 489 <div class="post-row__byline"> 490 <span class="post-row__author">Daniele Varrazzo</span> 491 <time class="post-row__date" datetime="2012-10-01">01 Oct 2012</time> 492 </div> 493 </article> 494 495 <article class="post-row"> 496 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 497 <h2 class="post-row__title"> 498 <a href="/articles/2012/03/29/psycopg-245-released/">Psycopg 2.4.5 released</a> 499 </h2> 500 <div class="post-row__byline"> 501 <span class="post-row__author">Daniele Varrazzo</span> 502 <time class="post-row__date" datetime="2012-03-29">29 Mar 2012</time> 503 </div> 504 </article> 505 506 <article class="post-row"> 507 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 508 <h2 class="post-row__title"> 509 <a href="/articles/2011/12/19/psycopg-244-released/">Psycopg 2.4.4 released</a> 510 </h2> 511 <div class="post-row__byline"> 512 <span class="post-row__author">Daniele Varrazzo</span> 513 <time class="post-row__date" datetime="2011-12-19">19 Dec 2011</time> 514 </div> 515 </article> 516 517 <article class="post-row"> 518 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 519 <h2 class="post-row__title"> 520 <a href="/articles/2011/12/12/psycopg-243-released/">Psycopg 2.4.3 released</a> 521 </h2> 522 <div class="post-row__byline"> 523 <span class="post-row__author">Daniele Varrazzo</span> 524 <time class="post-row__date" datetime="2011-12-12">12 Dec 2011</time> 525 </div> 526 </article> 527 528 <article class="post-row"> 529 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 530 <h2 class="post-row__title"> 531 <a href="/articles/2011/06/12/psycopg-242-released/">Psycopg 2.4.2 released</a> 532 </h2> 533 <div class="post-row__byline">
534 <span class="post-row__author">Daniele Varrazzo</span> 535 <time class="post-row__date" datetime="2011-06-12">12 Jun 2011</time> 536 </div> 537 </article> 538 539 <article class="post-row"> 540 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/windows/">windows</a><a class="post-tag" href="/articles/tag/build/">build</a><a class="post-tag" href="/articles/tag/recipe/">recipe</a></div> 541 <h2 class="post-row__title"> 542 <a href="/articles/2011/06/05/psycopg-windows-mingw/">Building Psycopg on Windows using MinGW</a> 543 </h2> 544 <div class="post-row__byline"> 545 <span class="post-row__author">Daniele Varrazzo</span> 546 <time class="post-row__date" datetime="2011-06-05">05 Jun 2011</time> 547 </div> 548 </article> 549 550 <article class="post-row"> 551 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 552 <h2 class="post-row__title"> 553 <a href="/articles/2011/05/11/psycopg-241-released/">Psycopg 2.4.1 released</a> 554 </h2> 555 <div class="post-row__byline"> 556 <span class="post-row__author">Federico Di Gregorio</span> 557 <time class="post-row__date" datetime="2011-05-11">11 May 2011</time> 558 </div> 559 </article> 560 561 <article class="post-row"> 562 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 563 <h2 class="post-row__title"> 564 <a href="/articles/2011/02/27/psycopg-24-released/">Psycopg 2.4 released</a> 565 </h2> 566 <div class="post-row__byline"> 567 <span class="post-row__author">Federico Di Gregorio</span> 568 <time class="post-row__date" datetime="2011-02-27">27 Feb 2011</time> 569 </div> 570 </article> 571 572 <article class="post-row"> 573 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 574 <h2 class="post-row__title"> 575 <a href="/articles/2011/02/06/psycopg-24-beta1-released/">Psycopg 2.4 beta1 released</a> 576 </h2> 577 <div class="post-row__byline"> 578 <span class="post-row__author">Federico Di Gregorio</span> 579 <time class="post-row__date" datetime="2011-02-06">06 Feb 2011</time> 580 </div> 581 </article> 582 583 <article class="post-row"> 584 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/python3/">python3</a><a class="post-tag" href="/articles/tag/news/">news</a></div> 585 <h2 class="post-row__title"> 586 <a href="/articles/2011/01/24/psycopg2-porting-python-3-report/">psycopg2 porting to Python 3: a report</a> 587 </h2> 588 <div class="post-row__byline"> 589 <span class="post-row__author">Daniele Varrazzo</span> 590 <time class="post-row__date" datetime="2011-01-24">24 Jan 2011</time> 591 </div> 592 </article> 593 594 <article class="post-row"> 595 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/mailing list/">mailing list</a></div> 596 <h2 class="post-row__title"> 597 <a href="/articles/2011/01/08/new-psycopg-mailing-list-online/">New Psycopg Mailing List Online!</a> 598 </h2> 599 <div class="post-row__byline"> 600 <span class="post-row__author">Daniele Varrazzo</span> 601 <time class="post-row__date" datetime="2011-01-08">08 Jan 2011</time> 602 </div> 603 </article> 604 605 <article class="post-row"> 606 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 607 <h2 class="post-row__title"> 608 <a href="/articles/2010/12/20/psycopg-232-released/">Psycopg 2.3.2 released</a> 609 </h2> 610 <div class="post-row__byline"> 611 <span class="post-row__author">Daniele Varrazzo</span> 612 <time class="post-row__date" datetime="2010-12-20">20 Dec 2010</time> 613 </div> 614 </article> 615 616 <article class="post-row"> 617 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 618 <h2 class="post-row__title"> 619 <a href="/articles/2010/12/04/psycopg-231-released/">Psycopg 2.3.1 released</a> 620 </h2> 621 <div class="post-row__byline">
622 <span class="post-row__author">Daniele Varrazzo</span> 623 <time class="post-row__date" datetime="2010-12-04">04 Dec 2010</time> 624 </div> 625 </article> 626 627 <article class="post-row"> 628 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/recipe/">recipe</a><a class="post-tag" href="/articles/tag/async/">async</a><a class="post-tag" href="/articles/tag/eventlet/">eventlet</a><a class="post-tag" href="/articles/tag/notify/">notify</a></div> 629 <h2 class="post-row__title"> 630 <a href="/articles/2010/12/01/postgresql-notifications-psycopg2-eventlet/">PostgreSQL notifications with Psycopg2 and Eventlet</a> 631 </h2> 632 <div class="post-row__byline"> 633 <span class="post-row__author">Daniele Varrazzo</span> 634 <time class="post-row__date" datetime="2010-12-01">01 Dec 2010</time> 635 </div> 636 </article> 637 638 <article class="post-row"> 639 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 640 <h2 class="post-row__title"> 641 <a href="/articles/2010/12/01/psycopg-230-released/">Psycopg 2.3.0 released</a> 642 </h2> 643 <div class="post-row__byline"> 644 <span class="post-row__author">Federico Di Gregorio</span> 645 <time class="post-row__date" datetime="2010-12-01">01 Dec 2010</time> 646 </div> 647 </article> 648 649 <article class="post-row"> 650 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/pgday/">pgday</a></div> 651 <h2 class="post-row__title"> 652 <a href="/articles/2010/11/12/psycopg-pgday-italy-2010/">Psycopg at PGDay Italy 2010</a> 653 </h2> 654 <div class="post-row__byline"> 655 <span class="post-row__author">Daniele Varrazzo</span> 656 <time class="post-row__date" datetime="2010-11-12">12 Nov 2010</time> 657 </div> 658 </article> 659 660 <article class="post-row"> 661 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/recipe/">recipe</a><a class="post-tag" href="/articles/tag/os-x/">os-x</a></div> 662 <h2 class="post-row__title"> 663 <a href="/articles/2010/11/11/links-about-building-psycopg-mac-os-x/">Links about building Psycopg on Mac OS X</a> 664 </h2> 665 <div class="post-row__byline"> 666 <span class="post-row__author">Daniele Varrazzo</span> 667 <time class="post-row__date" datetime="2010-11-11">11 Nov 2010</time> 668 </div> 669 </article> 670 671 <article class="post-row"> 672 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a><a class="post-tag" href="/articles/tag/beta/">beta</a></div> 673 <h2 class="post-row__title"> 674 <a href="/articles/2010/11/06/psycopg-230-beta1-released/">Psycopg 2.3.0-beta1 released</a> 675 </h2> 676 <div class="post-row__byline"> 677 <span class="post-row__author">Daniele Varrazzo</span> 678 <time class="post-row__date" datetime="2010-11-06">06 Nov 2010</time> 679 </div> 680 </article> 681 682 <article class="post-row"> 683 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/development/">development</a></div> 684 <h2 class="post-row__title"> 685 <a href="/articles/2010/11/02/new-features-upcoming-psycopg-release/">New features in the upcoming Psycopg release</a> 686 </h2> 687 <div class="post-row__byline"> 688 <span class="post-row__author">Daniele Varrazzo</span> 689 <time class="post-row__date" datetime="2010-11-02">02 Nov 2010</time> 690 </div> 691 </article> 692 693 <article class="post-row"> 694 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/pgday/">pgday</a><a class="post-tag" href="/articles/tag/news/">news</a></div> 695 <h2 class="post-row__title"> 696 <a href="/articles/2010/10/26/psycopg-pgday-europe/">Psycopg at PgDay Europe</a> 697 </h2> 698 <div class="post-row__byline"> 699 <span class="post-row__author">Daniele Varrazzo</span> 700 <time class="post-row__date" datetime="2010-10-26">26 Oct 2010</time> 701 </div> 702 </article> 703 704 <article class="post-row"> 705 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/recipe/">recipe</a></div> 706 <h2 class="post-row__title"> 707 <a href="/articles/2010/10/22/passing-connections-functions-using-decorator/">
707Passing connections to functions using a decorator</a> 708 </h2> 709 <div class="post-row__byline"> 710 <span class="post-row__author">Daniele Varrazzo</span> 711 <time class="post-row__date" datetime="2010-10-22">22 Oct 2010</time> 712 </div> 713 </article> 714 715 <article class="post-row"> 716 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 717 <h2 class="post-row__title"> 718 <a href="/articles/2010/07/18/psycopg-222-released/">Psycopg 2.2.2 released</a> 719 </h2> 720 <div class="post-row__byline"> 721 <span class="post-row__author">Federico Di Gregorio</span> 722 <time class="post-row__date" datetime="2010-07-18">18 Jul 2010</time> 723 </div> 724 </article> 725 726 <article class="post-row"> 727 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 728 <h2 class="post-row__title"> 729 <a href="/articles/2010/05/17/psycopg-221-released/">Psycopg 2.2.1 released</a> 730 </h2> 731 <div class="post-row__byline"> 732 <span class="post-row__author">Federico Di Gregorio</span> 733 <time class="post-row__date" datetime="2010-05-17">17 May 2010</time> 734 </div> 735 </article> 736 737 <article class="post-row"> 738 <div class="post-row__tags"><a class="post-tag" href="/articles/tag/news/">news</a><a class="post-tag" href="/articles/tag/release/">release</a></div> 739 <h2 class="post-row__title"> 740 <a href="/articles/2010/05/16/psycopg-220-released/">Psycopg 2.2.0 released</a> 741 </h2> 742 <div class="post-row__byline"> 743 <span class="post-row__author">Federico Di Gregorio</span> 744 <time class="post-row__date" datetime="2010-05-16">16 May 2010</time> 745 </div> 746 </article> 747 748 </div> 749 <div class="articles-pagination" id="blog-pagination"></div> 750</div>
751<script> 752(function () { 753 var PER_PAGE = 10; 754 var rows = document.querySelectorAll('#blog-articles .post-row'); 755 var total = rows.length; 756 var pages = Math.ceil(total / PER_PAGE); 757 if (pages <= 1) return; 758 759 var current = 1; 760 761 function show(page) { 762 current = page; 763 var start = (page - 1) * PER_PAGE; 764 rows.forEach(function (row, i) { 765 var visible = i >= start && i < start + PER_PAGE; 766 row.style.display = visible ? '' : 'none'; 767 row.style.borderTop = (visible && i === start) ? 'none' : ''; 768 }); 769 render(); 770 } 771 772 function render() { 773 var el = document.getElementById('blog-pagination'); 774 var prev = current > 1 775 ? '<a href="#" data-page="' + (current - 1) + '" class="pagination__prev"><span class="pag-arrow">←</span> prev</a>' 776 : '<span class="pagination__prev disabled"><span class="pag-arrow">←</span> prev</span>'; 777 var next = current < pages 778 ? '<a href="#" data-page="' + (current + 1) + '" class="pagination__next">next <span class="pag-arrow">→</span></a>' 779 : '<span class="pagination__next disabled">next <span class="pag-arrow">→</span></span>'; 780 el.innerHTML = '<div class="pagination">' + prev 781 + '<span class="pagination__info">page ' + current + ' of ' + pages + '</span>' 782 + next + '</div>'; 783 784 el.querySelectorAll('[data-page]').forEach(function (a) { 785 a.addEventListener('click', function (e) { 786 e.preventDefault(); 787 show(parseInt(this.dataset.page)); 788 document.querySelector('.articles-page').scrollIntoView({ behavior: 'smooth' }); 789 }); 790 }); 791 } 792 793 show(1); 794}()); 795</script>
795 796 797 </main> 798 </div> 799 800 <!-- ââ Footer âââââââââââââââââââââââââââââââââââââââââââââââââââ --> 801 <footer class="site-footer"> 802 <div class="site-footer__inner"> 803 <p class="site-footer__copy"> 804 © The Psycopg Team<br/> 805 Psycopg is free software released under the 806 <a href="https://www.gnu.org/licenses/lgpl-3.0.en.html" rel="noopener">GNU LGPL license</a>. 807 </p> 808 <a href="/" class="site-footer__logo" aria-label="psycopg home"> 809 <img src="/img/logo.png" alt="" width="40" height="40" /> 810 <span>psycopg</span> 811 </a> 812 </div> 813 </footer> 814 815
815<script src="/js/main.js" type="module"></script>
815 816
816<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"fd1fd7e322bb48aaab6414c3a1ead9d8","r":1,"spa":2}' crossorigin="anonymous"></script>
816 817</body> 818</html> 819
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.