Skip to content

Commit ea13cd2

Browse files
committed
try fix
1 parent 2e08351 commit ea13cd2

File tree

3 files changed

+49
-133
lines changed

3 files changed

+49
-133
lines changed

scripts/install-macos.sh

Lines changed: 12 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -8,37 +8,22 @@ PGUSER=${3:-postgres}
88
PGPASSWORD=${4:-postgres}
99
PGDATABASE=${5:-postgres}
1010

11-
# Function to export variables
12-
export_var() {
13-
local name=$1
14-
local value=$2
15-
export "$name=$value"
16-
# Only export to GITHUB_ENV if running in GitHub Actions
17-
if [ -n "$GITHUB_ENV" ]; then
18-
echo "$name=$value" >> $GITHUB_ENV
19-
fi
20-
}
21-
2211
# Install PostgreSQL
2312
brew install "postgresql@$PG_VERSION"
2413
brew link --force "postgresql@$PG_VERSION"
2514

2615
# Add PostgreSQL binaries to PATH
2716
PG_PATH="/usr/local/opt/postgresql@$PG_VERSION/bin"
28-
# For Apple Silicon Macs
2917
if [ -d "/opt/homebrew/opt/postgresql@$PG_VERSION/bin" ]; then
3018
PG_PATH="/opt/homebrew/opt/postgresql@$PG_VERSION/bin"
3119
fi
3220
export PATH="$PG_PATH:$PATH"
33-
# Only add to GITHUB_PATH if running in GitHub Actions
3421
if [ -n "$GITHUB_PATH" ]; then
3522
echo "$PG_PATH" >> $GITHUB_PATH
3623
fi
3724

3825
# Start PostgreSQL
3926
brew services start "postgresql@$PG_VERSION"
40-
41-
# Wait for PostgreSQL to start
4227
sleep 3
4328

4429
# Set password and create database/user
@@ -56,22 +41,22 @@ make install
5641
cd ..
5742
rm -rf pgvector
5843

59-
# Create and configure pgvector extension
44+
# Create pgvector extension
6045
psql -d $PGDATABASE -c 'CREATE EXTENSION IF NOT EXISTS vector;'
6146

6247
# Export environment variables
63-
export_var "PGHOST" "localhost"
64-
export_var "PGUSER" "$PGUSER"
65-
export_var "PGPASSWORD" "$PGPASSWORD"
66-
export_var "PGDATABASE" "$PGDATABASE"
48+
export PGHOST=localhost
49+
export PGUSER=$PGUSER
50+
export PGPASSWORD=$PGPASSWORD
51+
export PGDATABASE=$PGDATABASE
6752

68-
# Verify installation
69-
echo "Checking PostgreSQL installation..."
70-
psql -d $PGDATABASE -c "SELECT version();"
71-
echo "Checking available extensions..."
72-
psql -d $PGDATABASE -c "SELECT * FROM pg_available_extensions WHERE name = 'vector';"
73-
echo "Checking installed extensions..."
74-
psql -d $PGDATABASE -c "SELECT * FROM pg_extension WHERE extname = 'vector';"
53+
# Export to GITHUB_ENV if running in GitHub Actions
54+
if [ -n "$GITHUB_ENV" ]; then
55+
echo "PGHOST=$PGHOST" >> $GITHUB_ENV
56+
echo "PGUSER=$PGUSER" >> $GITHUB_ENV
57+
echo "PGPASSWORD=$PGPASSWORD" >> $GITHUB_ENV
58+
echo "PGDATABASE=$PGDATABASE" >> $GITHUB_ENV
59+
fi
7560

7661
# Print success message
7762
echo "PostgreSQL and pgvector have been successfully installed!"

scripts/install-ubuntu.sh

Lines changed: 16 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ PGUSER=${3:-postgres}
88
PGPASSWORD=${4:-postgres}
99
PGDATABASE=${5:-postgres}
1010

11+
# Install PostgreSQL
1112
echo "Installing PostgreSQL ${PG_VERSION}..."
1213
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y
1314
sudo apt-get update
@@ -19,55 +20,20 @@ sudo pg_dropcluster --stop ${PG_VERSION} main || true
1920
sudo pg_createcluster ${PG_VERSION} main --start || true
2021
sudo systemctl start postgresql
2122

22-
# Create runner user and grant permissions
23-
sudo -u postgres psql -c "CREATE USER runner WITH SUPERUSER;"
24-
25-
# Verify PostgreSQL installation and version
26-
echo "Checking PostgreSQL version..."
27-
PG_ACTUAL_VERSION=$(sudo -u postgres psql -t -c "SHOW server_version;" | xargs)
28-
echo "PostgreSQL actual version: ${PG_ACTUAL_VERSION}"
29-
PG_MAJOR_VERSION=$(echo ${PG_ACTUAL_VERSION} | cut -d. -f1)
30-
echo "PostgreSQL major version: ${PG_MAJOR_VERSION}"
31-
32-
# Remove any existing pgvector installations
33-
sudo apt-get remove -y postgresql-*-pgvector || true
34-
sudo rm -f /usr/lib/postgresql/*/lib/vector.so
35-
sudo rm -f /usr/share/postgresql/*/extension/vector*
36-
23+
# Install build dependencies and pgvector
3724
echo "Installing pgvector..."
38-
# Always build from source to match PostgreSQL version
39-
echo "Building pgvector from source..."
40-
sudo apt-get install -y postgresql-server-dev-${PG_MAJOR_VERSION} build-essential git
25+
sudo apt-get install -y postgresql-server-dev-${PG_VERSION} build-essential git
4126
git clone --branch v${PGVECTOR_VERSION} https://github.com/pgvector/pgvector.git
4227
cd pgvector
43-
make clean
44-
PG_CONFIG=/usr/lib/postgresql/${PG_MAJOR_VERSION}/bin/pg_config make
45-
sudo PG_CONFIG=/usr/lib/postgresql/${PG_MAJOR_VERSION}/bin/pg_config make install
28+
PG_CONFIG=/usr/lib/postgresql/${PG_VERSION}/bin/pg_config make
29+
sudo PG_CONFIG=/usr/lib/postgresql/${PG_VERSION}/bin/pg_config make install
4630
cd ..
4731
rm -rf pgvector
4832

49-
# Configure PostgreSQL authentication for CI
50-
echo "local all postgres trust" | sudo tee /etc/postgresql/${PG_VERSION}/main/pg_hba.conf
51-
echo "local all runner trust" | sudo tee -a /etc/postgresql/${PG_VERSION}/main/pg_hba.conf
52-
echo "local all all trust" | sudo tee -a /etc/postgresql/${PG_VERSION}/main/pg_hba.conf
53-
54-
# Restart PostgreSQL to ensure pgvector is loaded
33+
# Configure PostgreSQL authentication
34+
echo "local all all trust" | sudo tee /etc/postgresql/${PG_VERSION}/main/pg_hba.conf
5535
sudo systemctl restart postgresql
5636

57-
# Verify pgvector installation
58-
echo "Verifying pgvector installation..."
59-
echo "Installed extensions:"
60-
sudo -u postgres psql -d postgres -c "SELECT * FROM pg_extension;" || true
61-
echo "Available extensions:"
62-
sudo -u postgres psql -d postgres -c "SELECT * FROM pg_available_extensions WHERE name = 'vector';" || true
63-
64-
# List extension directory contents
65-
echo "Checking extension files..."
66-
echo "PostgreSQL ${PG_MAJOR_VERSION} extension directory:"
67-
ls -la /usr/share/postgresql/${PG_MAJOR_VERSION}/extension/ || true
68-
echo "PostgreSQL ${PG_MAJOR_VERSION} lib directory:"
69-
ls -la /usr/lib/postgresql/${PG_MAJOR_VERSION}/lib/ || true
70-
7137
# Set password and create database
7238
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '$PGPASSWORD';"
7339
if [ "$PGUSER" != "postgres" ]; then
@@ -78,7 +44,7 @@ if [ "$PGDATABASE" != "postgres" ]; then
7844
sudo -u postgres createdb -O $PGUSER $PGDATABASE
7945
fi
8046

81-
# Create and configure pgvector extension
47+
# Create pgvector extension
8248
sudo -u postgres psql -d $PGDATABASE -c "CREATE EXTENSION IF NOT EXISTS vector;"
8349

8450
# Export environment variables
@@ -87,18 +53,18 @@ export PGUSER=$PGUSER
8753
export PGPASSWORD=$PGPASSWORD
8854
export PGDATABASE=$PGDATABASE
8955

90-
# Export to GITHUB_ENV only if running in GitHub Actions
56+
# Export to GITHUB_ENV if running in GitHub Actions
9157
if [ -n "$GITHUB_ENV" ]; then
9258
echo "PGHOST=$PGHOST" >> $GITHUB_ENV
9359
echo "PGUSER=$PGUSER" >> $GITHUB_ENV
9460
echo "PGPASSWORD=$PGPASSWORD" >> $GITHUB_ENV
9561
echo "PGDATABASE=$PGDATABASE" >> $GITHUB_ENV
9662
fi
9763

98-
# Verify installation
99-
echo "Checking PostgreSQL installation..."
100-
psql -d $PGDATABASE -c "SELECT version();"
101-
echo "Checking available extensions..."
102-
psql -d $PGDATABASE -c "SELECT * FROM pg_available_extensions WHERE name = 'vector';"
103-
echo "Checking installed extensions..."
104-
psql -d $PGDATABASE -c "SELECT * FROM pg_extension WHERE extname = 'vector';"
64+
# Print success message
65+
echo "PostgreSQL and pgvector have been successfully installed!"
66+
echo "Connection details:"
67+
echo " Host: localhost"
68+
echo " User: $PGUSER"
69+
echo " Database: $PGDATABASE"
70+
echo " Password: [hidden]"

scripts/install-windows.sh

Lines changed: 21 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -8,47 +8,30 @@ PGUSER=${3:-postgres}
88
PGPASSWORD=${4:-postgres}
99
PGDATABASE=${5:-postgres}
1010

11-
# Function to export variables
12-
export_var() {
13-
local name=$1
14-
local value=$2
15-
export "$name=$value"
16-
# Only export to GITHUB_ENV if running in GitHub Actions
17-
if [ -n "$GITHUB_ENV" ]; then
18-
echo "$name=$value" >> $GITHUB_ENV
19-
fi
20-
}
21-
2211
# Set environment variables
23-
export_var "PGDATA" "/c/data/postgres"
24-
export_var "PGHOST" "localhost"
25-
export_var "PGUSER" "$PGUSER"
26-
export_var "PGPASSWORD" "$PGPASSWORD"
27-
export_var "PGDATABASE" "$PGDATABASE"
12+
export PGDATA="/c/data/postgres"
13+
export PGHOST=localhost
14+
export PGUSER=$PGUSER
15+
export PGPASSWORD=$PGPASSWORD
16+
export PGDATABASE=$PGDATABASE
17+
18+
# Export to GITHUB_ENV if running in GitHub Actions
19+
if [ -n "$GITHUB_ENV" ]; then
20+
echo "PGDATA=$PGDATA" >> $GITHUB_ENV
21+
echo "PGHOST=$PGHOST" >> $GITHUB_ENV
22+
echo "PGUSER=$PGUSER" >> $GITHUB_ENV
23+
echo "PGPASSWORD=$PGPASSWORD" >> $GITHUB_ENV
24+
echo "PGDATABASE=$PGDATABASE" >> $GITHUB_ENV
25+
fi
2826

29-
# Initialize PostgreSQL if not already initialized
27+
# Initialize PostgreSQL if not initialized
3028
if [ ! -d "$PGDATA" ]; then
31-
# Create a temporary password file
32-
PWFILE=$(mktemp)
33-
echo "$PGPASSWORD" > "$PWFILE"
29+
mkdir -p "$PGDATA"
30+
initdb -D "$PGDATA" -U $PGUSER -E UTF8
3431

35-
initdb -D "$PGDATA" -U $PGUSER --pwfile="$PWFILE"
36-
rm -f "$PWFILE"
37-
38-
# Configure PostgreSQL for password authentication
39-
echo "host all all 127.0.0.1/32 md5" >> "$PGDATA/pg_hba.conf"
32+
# Configure PostgreSQL authentication
33+
echo "host all all 127.0.0.1/32 md5" > "$PGDATA/pg_hba.conf"
4034
echo "host all all ::1/128 md5" >> "$PGDATA/pg_hba.conf"
41-
42-
# Configure logging
43-
cat >> "$PGDATA/postgresql.conf" << EOL
44-
logging_collector = on
45-
log_directory = 'log'
46-
log_filename = 'postgresql-%Y-%m-%d.log'
47-
log_rotation_age = 1d
48-
EOL
49-
50-
# Create log directory
51-
mkdir -p "$PGDATA/log"
5235
fi
5336

5437
# Start PostgreSQL
@@ -58,20 +41,12 @@ pg_ctl -D "$PGDATA" -w start
5841
# Wait for PostgreSQL to start
5942
sleep 3
6043

61-
# Show PostgreSQL logs
62-
echo "PostgreSQL log content:"
63-
if [ -f "$PGDATA/log/postgresql-$(date +%Y-%m-%d).log" ]; then
64-
cat "$PGDATA/log/postgresql-$(date +%Y-%m-%d).log"
65-
else
66-
echo "Log file not found. PostgreSQL is still running, continuing..."
67-
fi
68-
6944
# Create database if it doesn't exist
7045
if [ "$PGDATABASE" != "postgres" ]; then
7146
PGPASSWORD=$PGPASSWORD createdb -h localhost -U $PGUSER $PGDATABASE || true
7247
fi
7348

74-
# Install build tools and dependencies if running in MSYS2
49+
# Install build tools if running in MSYS2
7550
if command -v pacman &> /dev/null; then
7651
pacman -S --noconfirm \
7752
mingw-w64-x86_64-gcc \
@@ -86,24 +61,14 @@ export PKG_CONFIG_PATH="/mingw64/lib/pkgconfig:$PKG_CONFIG_PATH"
8661
# Build and install pgvector
8762
git clone --branch "v$PGVECTOR_VERSION" https://github.com/pgvector/pgvector.git
8863
cd pgvector
89-
make clean
9064
PG_CONFIG=/mingw64/bin/pg_config make
9165
PG_CONFIG=/mingw64/bin/pg_config make install
9266
cd ..
9367
rm -rf pgvector
9468

95-
# Create and configure pgvector extension
96-
echo "Creating pgvector extension..."
69+
# Create pgvector extension
9770
PGPASSWORD=$PGPASSWORD psql -h localhost -U $PGUSER -d $PGDATABASE -c "CREATE EXTENSION IF NOT EXISTS vector;"
9871

99-
# Verify installation
100-
echo "Checking PostgreSQL installation..."
101-
PGPASSWORD=$PGPASSWORD psql -h localhost -U $PGUSER -d $PGDATABASE -c "SELECT version();"
102-
echo "Checking available extensions..."
103-
PGPASSWORD=$PGPASSWORD psql -h localhost -U $PGUSER -d $PGDATABASE -c "SELECT * FROM pg_available_extensions WHERE name = 'vector';"
104-
echo "Checking installed extensions..."
105-
PGPASSWORD=$PGPASSWORD psql -h localhost -U $PGUSER -d $PGDATABASE -c "SELECT * FROM pg_extension WHERE extname = 'vector';"
106-
10772
# Print success message
10873
echo "PostgreSQL and pgvector have been successfully installed!"
10974
echo "Connection details:"

0 commit comments

Comments
 (0)