254

Building and Distributing PostgreSQL Extensions Without Learning C

Embed Size (px)

DESCRIPTION

PostgreSQL is extensible like a dynamic programming language. Support for custom functions, operators, types, domains, and other database objects is built right into SQL. Maybe you've done a bit of experimenting with these features and want to do more. Perhaps you'd even like to distribute extensions so that others can take advantage of your efforts. If so, then this talk is for you. We'll take you through the process of creating a pure-SQL extension and distributing it on PGXN, the "CPAN for PostgreSQL extensions." Here's how • Create an extension in pure SQL. No C. No Java. No PL/Perl. Well, okay, PL/pgSQL might be involved, but you get the idea. • Unit test the extension. Also in pure SQL. • Use the PostgreSQL extension-building toolchain to configure and install the extension. And run the unit tests. • Create the metadata for PGXN. • Package up the distribution and upload it to PGXN. • Watch it appear on the PGXN mirrors and in the PGXN index. • Brag. We'll also cover the details of PGXN and why you'd want to distribute your extensions there. Come help us expand the universe of quality PostgreSQL extensions!

Citation preview

Page 1: Building and Distributing PostgreSQL Extensions Without Learning C
Page 2: Building and Distributing PostgreSQL Extensions Without Learning C
Page 3: Building and Distributing PostgreSQL Extensions Without Learning C
Page 4: Building and Distributing PostgreSQL Extensions Without Learning C
Page 5: Building and Distributing PostgreSQL Extensions Without Learning C
Page 6: Building and Distributing PostgreSQL Extensions Without Learning C
Page 7: Building and Distributing PostgreSQL Extensions Without Learning C
Page 8: Building and Distributing PostgreSQL Extensions Without Learning C
Page 9: Building and Distributing PostgreSQL Extensions Without Learning C
Page 10: Building and Distributing PostgreSQL Extensions Without Learning C
Page 11: Building and Distributing PostgreSQL Extensions Without Learning C
Page 12: Building and Distributing PostgreSQL Extensions Without Learning C
Page 13: Building and Distributing PostgreSQL Extensions Without Learning C
Page 14: Building and Distributing PostgreSQL Extensions Without Learning C
Page 15: Building and Distributing PostgreSQL Extensions Without Learning C
Page 16: Building and Distributing PostgreSQL Extensions Without Learning C
Page 17: Building and Distributing PostgreSQL Extensions Without Learning C
Page 18: Building and Distributing PostgreSQL Extensions Without Learning C
Page 19: Building and Distributing PostgreSQL Extensions Without Learning C
Page 20: Building and Distributing PostgreSQL Extensions Without Learning C
Page 21: Building and Distributing PostgreSQL Extensions Without Learning C
Page 22: Building and Distributing PostgreSQL Extensions Without Learning C
Page 23: Building and Distributing PostgreSQL Extensions Without Learning C
Page 24: Building and Distributing PostgreSQL Extensions Without Learning C
Page 25: Building and Distributing PostgreSQL Extensions Without Learning C
Page 26: Building and Distributing PostgreSQL Extensions Without Learning C
Page 27: Building and Distributing PostgreSQL Extensions Without Learning C
Page 28: Building and Distributing PostgreSQL Extensions Without Learning C
Page 29: Building and Distributing PostgreSQL Extensions Without Learning C
Page 30: Building and Distributing PostgreSQL Extensions Without Learning C
Page 31: Building and Distributing PostgreSQL Extensions Without Learning C
Page 32: Building and Distributing PostgreSQL Extensions Without Learning C
Page 33: Building and Distributing PostgreSQL Extensions Without Learning C
Page 34: Building and Distributing PostgreSQL Extensions Without Learning C
Page 35: Building and Distributing PostgreSQL Extensions Without Learning C
Page 36: Building and Distributing PostgreSQL Extensions Without Learning C
Page 37: Building and Distributing PostgreSQL Extensions Without Learning C
Page 38: Building and Distributing PostgreSQL Extensions Without Learning C
Page 39: Building and Distributing PostgreSQL Extensions Without Learning C
Page 40: Building and Distributing PostgreSQL Extensions Without Learning C
Page 41: Building and Distributing PostgreSQL Extensions Without Learning C
Page 42: Building and Distributing PostgreSQL Extensions Without Learning C
Page 43: Building and Distributing PostgreSQL Extensions Without Learning C
Page 44: Building and Distributing PostgreSQL Extensions Without Learning C
Page 45: Building and Distributing PostgreSQL Extensions Without Learning C
Page 46: Building and Distributing PostgreSQL Extensions Without Learning C
Page 47: Building and Distributing PostgreSQL Extensions Without Learning C
Page 48: Building and Distributing PostgreSQL Extensions Without Learning C
Page 49: Building and Distributing PostgreSQL Extensions Without Learning C
Page 50: Building and Distributing PostgreSQL Extensions Without Learning C
Page 51: Building and Distributing PostgreSQL Extensions Without Learning C
Page 52: Building and Distributing PostgreSQL Extensions Without Learning C
Page 53: Building and Distributing PostgreSQL Extensions Without Learning C
Page 54: Building and Distributing PostgreSQL Extensions Without Learning C
Page 55: Building and Distributing PostgreSQL Extensions Without Learning C
Page 56: Building and Distributing PostgreSQL Extensions Without Learning C
Page 57: Building and Distributing PostgreSQL Extensions Without Learning C
Page 58: Building and Distributing PostgreSQL Extensions Without Learning C
Page 59: Building and Distributing PostgreSQL Extensions Without Learning C
Page 60: Building and Distributing PostgreSQL Extensions Without Learning C
Page 61: Building and Distributing PostgreSQL Extensions Without Learning C
Page 62: Building and Distributing PostgreSQL Extensions Without Learning C
Page 63: Building and Distributing PostgreSQL Extensions Without Learning C
Page 64: Building and Distributing PostgreSQL Extensions Without Learning C
Page 65: Building and Distributing PostgreSQL Extensions Without Learning C
Page 66: Building and Distributing PostgreSQL Extensions Without Learning C
Page 67: Building and Distributing PostgreSQL Extensions Without Learning C
Page 68: Building and Distributing PostgreSQL Extensions Without Learning C
Page 69: Building and Distributing PostgreSQL Extensions Without Learning C
Page 70: Building and Distributing PostgreSQL Extensions Without Learning C
Page 71: Building and Distributing PostgreSQL Extensions Without Learning C
Page 72: Building and Distributing PostgreSQL Extensions Without Learning C
Page 73: Building and Distributing PostgreSQL Extensions Without Learning C
Page 74: Building and Distributing PostgreSQL Extensions Without Learning C
Page 75: Building and Distributing PostgreSQL Extensions Without Learning C
Page 76: Building and Distributing PostgreSQL Extensions Without Learning C
Page 77: Building and Distributing PostgreSQL Extensions Without Learning C
Page 78: Building and Distributing PostgreSQL Extensions Without Learning C
Page 79: Building and Distributing PostgreSQL Extensions Without Learning C
Page 80: Building and Distributing PostgreSQL Extensions Without Learning C
Page 81: Building and Distributing PostgreSQL Extensions Without Learning C
Page 82: Building and Distributing PostgreSQL Extensions Without Learning C
Page 83: Building and Distributing PostgreSQL Extensions Without Learning C
Page 84: Building and Distributing PostgreSQL Extensions Without Learning C
Page 85: Building and Distributing PostgreSQL Extensions Without Learning C
Page 86: Building and Distributing PostgreSQL Extensions Without Learning C
Page 87: Building and Distributing PostgreSQL Extensions Without Learning C
Page 88: Building and Distributing PostgreSQL Extensions Without Learning C
Page 89: Building and Distributing PostgreSQL Extensions Without Learning C
Page 90: Building and Distributing PostgreSQL Extensions Without Learning C
Page 91: Building and Distributing PostgreSQL Extensions Without Learning C
Page 92: Building and Distributing PostgreSQL Extensions Without Learning C
Page 93: Building and Distributing PostgreSQL Extensions Without Learning C
Page 94: Building and Distributing PostgreSQL Extensions Without Learning C
Page 95: Building and Distributing PostgreSQL Extensions Without Learning C
Page 96: Building and Distributing PostgreSQL Extensions Without Learning C
Page 97: Building and Distributing PostgreSQL Extensions Without Learning C
Page 98: Building and Distributing PostgreSQL Extensions Without Learning C
Page 99: Building and Distributing PostgreSQL Extensions Without Learning C
Page 100: Building and Distributing PostgreSQL Extensions Without Learning C
Page 101: Building and Distributing PostgreSQL Extensions Without Learning C
Page 102: Building and Distributing PostgreSQL Extensions Without Learning C
Page 103: Building and Distributing PostgreSQL Extensions Without Learning C
Page 104: Building and Distributing PostgreSQL Extensions Without Learning C
Page 105: Building and Distributing PostgreSQL Extensions Without Learning C
Page 106: Building and Distributing PostgreSQL Extensions Without Learning C
Page 107: Building and Distributing PostgreSQL Extensions Without Learning C
Page 108: Building and Distributing PostgreSQL Extensions Without Learning C
Page 109: Building and Distributing PostgreSQL Extensions Without Learning C
Page 110: Building and Distributing PostgreSQL Extensions Without Learning C
Page 111: Building and Distributing PostgreSQL Extensions Without Learning C
Page 112: Building and Distributing PostgreSQL Extensions Without Learning C
Page 113: Building and Distributing PostgreSQL Extensions Without Learning C
Page 114: Building and Distributing PostgreSQL Extensions Without Learning C
Page 115: Building and Distributing PostgreSQL Extensions Without Learning C
Page 116: Building and Distributing PostgreSQL Extensions Without Learning C
Page 117: Building and Distributing PostgreSQL Extensions Without Learning C
Page 118: Building and Distributing PostgreSQL Extensions Without Learning C
Page 119: Building and Distributing PostgreSQL Extensions Without Learning C
Page 120: Building and Distributing PostgreSQL Extensions Without Learning C
Page 121: Building and Distributing PostgreSQL Extensions Without Learning C
Page 122: Building and Distributing PostgreSQL Extensions Without Learning C
Page 123: Building and Distributing PostgreSQL Extensions Without Learning C
Page 124: Building and Distributing PostgreSQL Extensions Without Learning C
Page 125: Building and Distributing PostgreSQL Extensions Without Learning C
Page 126: Building and Distributing PostgreSQL Extensions Without Learning C
Page 127: Building and Distributing PostgreSQL Extensions Without Learning C
Page 128: Building and Distributing PostgreSQL Extensions Without Learning C
Page 129: Building and Distributing PostgreSQL Extensions Without Learning C
Page 130: Building and Distributing PostgreSQL Extensions Without Learning C
Page 131: Building and Distributing PostgreSQL Extensions Without Learning C
Page 132: Building and Distributing PostgreSQL Extensions Without Learning C
Page 133: Building and Distributing PostgreSQL Extensions Without Learning C
Page 134: Building and Distributing PostgreSQL Extensions Without Learning C
Page 135: Building and Distributing PostgreSQL Extensions Without Learning C
Page 136: Building and Distributing PostgreSQL Extensions Without Learning C
Page 137: Building and Distributing PostgreSQL Extensions Without Learning C
Page 138: Building and Distributing PostgreSQL Extensions Without Learning C
Page 139: Building and Distributing PostgreSQL Extensions Without Learning C
Page 140: Building and Distributing PostgreSQL Extensions Without Learning C
Page 141: Building and Distributing PostgreSQL Extensions Without Learning C
Page 142: Building and Distributing PostgreSQL Extensions Without Learning C
Page 143: Building and Distributing PostgreSQL Extensions Without Learning C
Page 144: Building and Distributing PostgreSQL Extensions Without Learning C
Page 145: Building and Distributing PostgreSQL Extensions Without Learning C
Page 146: Building and Distributing PostgreSQL Extensions Without Learning C
Page 147: Building and Distributing PostgreSQL Extensions Without Learning C
Page 148: Building and Distributing PostgreSQL Extensions Without Learning C
Page 149: Building and Distributing PostgreSQL Extensions Without Learning C
Page 150: Building and Distributing PostgreSQL Extensions Without Learning C
Page 151: Building and Distributing PostgreSQL Extensions Without Learning C
Page 152: Building and Distributing PostgreSQL Extensions Without Learning C
Page 153: Building and Distributing PostgreSQL Extensions Without Learning C
Page 154: Building and Distributing PostgreSQL Extensions Without Learning C
Page 155: Building and Distributing PostgreSQL Extensions Without Learning C
Page 156: Building and Distributing PostgreSQL Extensions Without Learning C
Page 157: Building and Distributing PostgreSQL Extensions Without Learning C
Page 158: Building and Distributing PostgreSQL Extensions Without Learning C
Page 159: Building and Distributing PostgreSQL Extensions Without Learning C
Page 160: Building and Distributing PostgreSQL Extensions Without Learning C
Page 161: Building and Distributing PostgreSQL Extensions Without Learning C
Page 162: Building and Distributing PostgreSQL Extensions Without Learning C
Page 163: Building and Distributing PostgreSQL Extensions Without Learning C
Page 164: Building and Distributing PostgreSQL Extensions Without Learning C
Page 165: Building and Distributing PostgreSQL Extensions Without Learning C
Page 166: Building and Distributing PostgreSQL Extensions Without Learning C
Page 167: Building and Distributing PostgreSQL Extensions Without Learning C
Page 168: Building and Distributing PostgreSQL Extensions Without Learning C
Page 169: Building and Distributing PostgreSQL Extensions Without Learning C
Page 170: Building and Distributing PostgreSQL Extensions Without Learning C
Page 171: Building and Distributing PostgreSQL Extensions Without Learning C
Page 172: Building and Distributing PostgreSQL Extensions Without Learning C
Page 173: Building and Distributing PostgreSQL Extensions Without Learning C
Page 174: Building and Distributing PostgreSQL Extensions Without Learning C
Page 175: Building and Distributing PostgreSQL Extensions Without Learning C
Page 176: Building and Distributing PostgreSQL Extensions Without Learning C
Page 177: Building and Distributing PostgreSQL Extensions Without Learning C
Page 178: Building and Distributing PostgreSQL Extensions Without Learning C
Page 179: Building and Distributing PostgreSQL Extensions Without Learning C
Page 180: Building and Distributing PostgreSQL Extensions Without Learning C
Page 181: Building and Distributing PostgreSQL Extensions Without Learning C
Page 182: Building and Distributing PostgreSQL Extensions Without Learning C
Page 183: Building and Distributing PostgreSQL Extensions Without Learning C
Page 184: Building and Distributing PostgreSQL Extensions Without Learning C
Page 185: Building and Distributing PostgreSQL Extensions Without Learning C
Page 186: Building and Distributing PostgreSQL Extensions Without Learning C
Page 187: Building and Distributing PostgreSQL Extensions Without Learning C
Page 188: Building and Distributing PostgreSQL Extensions Without Learning C
Page 189: Building and Distributing PostgreSQL Extensions Without Learning C
Page 190: Building and Distributing PostgreSQL Extensions Without Learning C
Page 191: Building and Distributing PostgreSQL Extensions Without Learning C
Page 192: Building and Distributing PostgreSQL Extensions Without Learning C
Page 193: Building and Distributing PostgreSQL Extensions Without Learning C
Page 194: Building and Distributing PostgreSQL Extensions Without Learning C
Page 195: Building and Distributing PostgreSQL Extensions Without Learning C
Page 196: Building and Distributing PostgreSQL Extensions Without Learning C
Page 197: Building and Distributing PostgreSQL Extensions Without Learning C
Page 198: Building and Distributing PostgreSQL Extensions Without Learning C
Page 199: Building and Distributing PostgreSQL Extensions Without Learning C
Page 200: Building and Distributing PostgreSQL Extensions Without Learning C
Page 201: Building and Distributing PostgreSQL Extensions Without Learning C
Page 202: Building and Distributing PostgreSQL Extensions Without Learning C
Page 203: Building and Distributing PostgreSQL Extensions Without Learning C
Page 204: Building and Distributing PostgreSQL Extensions Without Learning C
Page 205: Building and Distributing PostgreSQL Extensions Without Learning C
Page 206: Building and Distributing PostgreSQL Extensions Without Learning C
Page 207: Building and Distributing PostgreSQL Extensions Without Learning C
Page 208: Building and Distributing PostgreSQL Extensions Without Learning C
Page 209: Building and Distributing PostgreSQL Extensions Without Learning C
Page 210: Building and Distributing PostgreSQL Extensions Without Learning C
Page 211: Building and Distributing PostgreSQL Extensions Without Learning C
Page 212: Building and Distributing PostgreSQL Extensions Without Learning C
Page 213: Building and Distributing PostgreSQL Extensions Without Learning C
Page 214: Building and Distributing PostgreSQL Extensions Without Learning C
Page 215: Building and Distributing PostgreSQL Extensions Without Learning C
Page 216: Building and Distributing PostgreSQL Extensions Without Learning C
Page 217: Building and Distributing PostgreSQL Extensions Without Learning C
Page 218: Building and Distributing PostgreSQL Extensions Without Learning C
Page 219: Building and Distributing PostgreSQL Extensions Without Learning C
Page 220: Building and Distributing PostgreSQL Extensions Without Learning C
Page 221: Building and Distributing PostgreSQL Extensions Without Learning C
Page 222: Building and Distributing PostgreSQL Extensions Without Learning C
Page 223: Building and Distributing PostgreSQL Extensions Without Learning C
Page 224: Building and Distributing PostgreSQL Extensions Without Learning C
Page 225: Building and Distributing PostgreSQL Extensions Without Learning C
Page 226: Building and Distributing PostgreSQL Extensions Without Learning C
Page 227: Building and Distributing PostgreSQL Extensions Without Learning C
Page 228: Building and Distributing PostgreSQL Extensions Without Learning C
Page 229: Building and Distributing PostgreSQL Extensions Without Learning C
Page 230: Building and Distributing PostgreSQL Extensions Without Learning C
Page 231: Building and Distributing PostgreSQL Extensions Without Learning C
Page 232: Building and Distributing PostgreSQL Extensions Without Learning C
Page 233: Building and Distributing PostgreSQL Extensions Without Learning C
Page 234: Building and Distributing PostgreSQL Extensions Without Learning C
Page 235: Building and Distributing PostgreSQL Extensions Without Learning C
Page 236: Building and Distributing PostgreSQL Extensions Without Learning C
Page 237: Building and Distributing PostgreSQL Extensions Without Learning C
Page 238: Building and Distributing PostgreSQL Extensions Without Learning C
Page 239: Building and Distributing PostgreSQL Extensions Without Learning C
Page 240: Building and Distributing PostgreSQL Extensions Without Learning C
Page 241: Building and Distributing PostgreSQL Extensions Without Learning C
Page 242: Building and Distributing PostgreSQL Extensions Without Learning C
Page 243: Building and Distributing PostgreSQL Extensions Without Learning C
Page 244: Building and Distributing PostgreSQL Extensions Without Learning C
Page 245: Building and Distributing PostgreSQL Extensions Without Learning C
Page 246: Building and Distributing PostgreSQL Extensions Without Learning C
Page 247: Building and Distributing PostgreSQL Extensions Without Learning C
Page 248: Building and Distributing PostgreSQL Extensions Without Learning C
Page 249: Building and Distributing PostgreSQL Extensions Without Learning C
Page 250: Building and Distributing PostgreSQL Extensions Without Learning C
Page 251: Building and Distributing PostgreSQL Extensions Without Learning C
Page 252: Building and Distributing PostgreSQL Extensions Without Learning C
Page 253: Building and Distributing PostgreSQL Extensions Without Learning C
Page 254: Building and Distributing PostgreSQL Extensions Without Learning C