Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PostgreSQL 15とRailsと

PostgreSQL 15とRailsと

PostgreSQL 15とRailsと
第36回 PostgreSQLアンカンファレンス@オンライン

Yasuo Honda

October 14, 2022
Tweet

More Decks by Yasuo Honda

Other Decks in Programming

Transcript

  1. • Yasuo Honda @yahonda ◦ Rails committer ◦ Oracle Ace

    Pro • PostgreSQLアンカンファレンス 初参加です 自己紹介
  2. • PostgreSQL 14リリース後に、Railsに2つの修正が必要だった ◦ enumの出力順序が変わる ◦ libpqでのttyオプションの廃止 • PostgreSQL Conference

    Japan 2021のLT ◦ PostgreSQLとRuby on Rails - Speaker Deck • PostgreSQL 15の時は、リリース前に気づいておきたい 背景
  3. • Beta 1から4まではすぐに出てきたし、Railsのunit testも通った https://download.postgresql.org/pub/repos/yum/testing/15/re dhat/rhel-9-x86_64/ • PostgreSQL 15 Beta

    1 Released! on 2022-05-19 • PostgreSQL 15 Beta 2 Released! on 2022-06-30 • PostgreSQL 14.5, 13.8, 12.12, 11.17, 10.22, and 15 Beta 3 Released! on 2022-08-11 • PostgreSQL 15 Beta 4 Released! on 2022-09-08 POSTGRESQL YUM REPOSITORY for Beta
  4. • PostgreSQL 15 RC 1 Released! on 2022-09-29 • RC1は2022年10月4日時点でyum

    repositoryに現れなかった • RCでの動作確認もしておきたい • PostgreSQL開発コミュニティに参加しよう! ~2022年版~(Open Source Conference 2022 Online… を思い出す • そのうち“Stamp 15rc2”がpushされていた ◦ https://github.com/postgres/postgres/commit/2a40d040c 924b1707cd03a9c66c80fcc4795c2d1 POSTGRESQL YUM REPOSITORY for RC1
  5. • PostgreSQL 15 RC 2 Released! on 2022-10-06 • 2022年10月6日にRC1とRC2がyum

    repositoryに現れた postgresql15-server-15.0-rc1_1PGDG.rhel9.x86_64..> 06-Oct-2022 13:19 6149740 postgresql15-server-15.0-rc2_1PGDG.rhel9.x86_64..> 06-Oct-2022 17:36 6143845 POSTGRESQL YUM REPOSITORY for RC(updated)
  6. • configureオプションの変更 ◦ ./configure --prefix=$HOME/pgsql/rel_15_stable --with-uuid=ossp --with-ssl=openssl --with-libxml • extensionを利用する

    ◦ uuid-ossp ▪ $ sudo yum install uuid-devel も必要 ◦ pgcrypto • DETAIL: This functionality requires the server to be built with libxml support. PostgreSQL 15 RC2を手元でビルドする(1)
  7. PostgreSQL 15 RC2を手元でビルドする(2) $ git clone https://github.com/postgres/postgres $ cd postgres

    $ git checkout REL_15_STABLE $ make clean $ ./configure --prefix=$HOME/pgsql/rel_15_stable --with-uuid=ossp --with-ssl=openssl --with-libxml $ make -j 4 $ make install $ cd contrib $ make $ make install $ cd ..
  8. PostgreSQL 15 RC2を手元でビルドする(3) - PATHをローカルビルドしたpsqlを優先させるようにする $ which psql ~/pgsql/rel_15_stable/bin/psql -

    initdbと起動 $ cd $HOME/pgsql/rel_15_stable $ bin/initdb -D data --locale=C --encoding=UTF8 $ bin/pg_ctl -D data -l logfile start
  9. • Enum関連 ◦ Support schemas in Postgresql enum_types #45740 ◦

    Add drop_enum command for Postgres #45735 ◦ Support explicit schemas in PostgreSQL's create_enum #45707 • Extension関連 ◦ Avoid removing a PostgreSQL extension when there are dependent objects #45474 Rails 7.1でのPostgreSQL関連の新機能
  10. • Foreign key関連 ◦ db:fixtures:load raises in Postgres if there

    are foreign key constraints in a non-public schema #44760 • Exclusion constraints ◦ Add support for exclusion constraints (PostgreSQL-only) #40224 • Disclaimer: ◦ 上記はmainブランチにマージされている状態ですので、Rail 7.1リ リース時までにrevertを含む変更の可能性があります Rails 7.1でのPostgreSQL関連の新機能(2)